2011-02-02 175 views
6

嗨我想在Android中向後播放音頻。我如何完成它?任何指針將不勝感激。謝謝。向後播放音頻

+0

您是否嘗試過通過負的採樣率,以AudioTrack.setPlaybackRate? :) – kusma 2011-02-02 21:20:40

回答

4

這裏可能沒有apis中的功能。

但是,向後播放pcm音頻數據是相當容易的。

演示使用C++風格的僞代碼:

/* assuming 1 channel (mono), 16 bit LPCM */ 
const int16_t* const audioFileBuffer = audioFile.audioBuffer(); 

/* forward */ 
for (int idx = 0, sampleCount = audioFile.sampleCount(); idx < sampleCount; ++idx) { 
    outputBuffer[idx] = audioFileBuffer[idx]; 
} 

/* reverse */ 
for (int idx = 0, sampleCount = audioFile.sampleCount(), read = audioFile.sampleCount() - 1; idx < sampleCount; ++idx, --read) { 
    outputBuffer[idx] = audioFileBuffer[read]; 
} 
0

我不確定是否有本地方法來做到這一點(我自己對Android開發場景仍然陌生),但如果它歸結爲它,你總是可以嘗試自己解碼文件,而不是依靠現有的API。