2011-02-02 141 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。