是否可以通过 MediaCodec 将 AAC 解码为 PCM Float?

问题描述

我正在尝试通过 MediaCodec 将 AAC 解码为 PCM 浮点数。但输出似乎总是 PCM 16 位。有没有人有将 AAC 解码为 PCM 浮点数的想法?谢谢!请看下面的代码是我将 ENCODING_PCM_FLOAT 设置为 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,0);
                    break;
                }
            }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)