[英]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.