我已經實現了一個PCM解碼器,它可以寫入一個AudioTrack
對象。來自AudioTrack流的通知消息
一切似乎都很棒,但是,當最後一個寫入的塊已停止播放時,我需要從AudioTrack
對象獲得某種通知。
我注意到有回調方法,如setNotificationMarkerPosition,
但是,我找不到任何廣泛的文檔如何使用它們。
在此先感謝!
我已經實現了一個PCM解碼器,它可以寫入一個AudioTrack
對象。來自AudioTrack流的通知消息
一切似乎都很棒,但是,當最後一個寫入的塊已停止播放時,我需要從AudioTrack
對象獲得某種通知。
我注意到有回調方法,如setNotificationMarkerPosition,
但是,我找不到任何廣泛的文檔如何使用它們。
在此先感謝!
要獲得AudioTrack
回調,您可以設置標記回調或使用週期性回調。我已經看到關於標記問題的報告,因此您可能想嘗試兩種方法。
對於標記回調,請首先撥打setNotificationMarkerPosition
,並輸入您想要撥打的任何幀號。
對於週期性回調,改爲撥打setPositionNotificationPeriod
,它會調用每個x幀。您可以撥打setPlaybackPositionUpdateListener
來註冊回撥。這將調用兩種方法:onMarkerReached
(如果它到達標記)或onPeriodicNotification
(每設置一定數量的幀)。您可以選擇使用一種或另一種,或兩者兼用。這兩個回調都是指你用來設置它的實例AudioTrack
。
默認情況下,它會在同一個線程中回調AudioTrack
實例的創建。或者,您可以在註冊回調將其發送到另一個線程時傳遞處理程序。
嗨chaoz,你是怎麼實現PCM解碼器?我正在尋找一個PCM解碼器來解碼音頻,任何幫助將對我非常有用。 – 2011-01-17 09:24:27