[英]Android AudioTrack extremely slow on some devices
我有一个使用MediaExtractor
解码MP3音频,使用MediaCodec
转换并使用AudioTrack
播放的AudioTrack
。 在大多数设备上,它都能正常工作,但在Samsung Galaxy S3和Samsung Galaxy Tab上,一些用户报告音频播放速度非常慢。 我无法在模拟器或物理设备上复制它。
经过很多麻烦之后,事实证明问题出在我对MediaFormat
使用上。 在某些设备上, MediaCodec
返回的MediaFormat与MediaExtractor
返回的MediaExtractor
。 帧频等可能会改变。 无需使用AudioTrack
返回的MediaFormat实例化AudioTrack
,必须等到解码开始。 届时, MediaCodec.dequeueOutputBuffer()
将返回MediaCodec.INFO_OUTPUT_FORMAT_CHANGED
。 然后可以使用MediaCodec.getOutputFormat()
返回用于初始化AudioTrack的正确MediaFormat。 希望这对某人有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.