在Android中从解码的声音文件中绘制音频波形
我正在尝试从解码的音频文件中绘制自定义波形视图。问题是,当我使用MediaCodec类将m4a声音文件解码到pcm时,解码过程可能需要很长时间 我随后得到了解码后的数组在Android中从解码的声音文件中绘制音频波形,android,pcm,android-mediacodec,aac,Android,Pcm,Android Mediacodec,Aac,我正在尝试从解码的音频文件中绘制自定义波形视图。问题是,当我使用MediaCodec类将m4a声音文件解码到pcm时,解码过程可能需要很长时间 我随后得到了解码后的数组 是否有任何方法可以最小化解码过程或获取有关音频文件帧的相关信息,而无需每次解码整个文件。您无需等待整个文件解码,只要每个帧的解码数据可用,就可以使用它 在您链接的CTS测试中,请查看第223-234行-此处已从解码器接收到解码数据的缓冲区,并将其复制到输出缓冲区。如果您将其更改为在此处处理数据,则可以立即处理解码数据,而无需等待
是否有任何方法可以最小化解码过程或获取有关音频文件帧的相关信息,而无需每次解码整个文件。您无需等待整个文件解码,只要每个帧的解码数据可用,就可以使用它 在您链接的CTS测试中,请查看第223-234行-此处已从解码器接收到解码数据的缓冲区,并将其复制到输出缓冲区。如果您将其更改为在此处处理数据,则可以立即处理解码数据,而无需等待整个文件。(这也是播放文件的方式。) 请记住,您不能真正假定输出帧的大小,它取决于文件中使用的编解码器的帧大小。(对于最常见的AAC版本,它是1024个样本。)因此,根据您希望处理输出数据的方式,如果需要,您可能希望将其缓冲到稍大的数据块中