Is it possible to decode AAC to PCM Float via MediaCodec?

Viewed 123

I'm trying to decode AAC to PCM float via MediaCodec. But the output seems always PCM 16 bit. Does anyone have an idea for decoding AAC to PCM float? Thanks! Please see the code below is what I set ENCODING_PCM_FLOAT to MediaCodec.

 mediaExtractor = new MediaExtractor();
            mediaExtractor.setDataSource(srcPath);
            for (int i = 0; i < mediaExtractor.getTrackCount(); i++) {
                MediaFormat format = mediaExtractor.getTrackFormat(i);
                String mime = format.getString(MediaFormat.KEY_MIME);
                if (mime.startsWith("audio")) {
                    mediaExtractor.selectTrack(i);
                    numChannels = format.getInteger(MediaFormat.KEY_CHANNEL_COUNT);
                    mediaDecode = MediaCodec.createDecoderByType(mime);
                    format.setInteger(MediaFormat.KEY_PCM_ENCODING, AudioFormat.ENCODING_PCM_FLOAT);
                    mediaDecode.configure(format, null, null, 0);
                    break;
                }
            }
0 Answers
Related