向后播放音频
答
这里可能没有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];
}
答
我不确定是否有本地方法来做到这一点(我自己对Android开发场景仍然陌生),但如果它归结为它,你总是可以尝试自己解码文件,而不是依靠现有的API。
您是否尝试过通过负的采样率,以AudioTrack.setPlaybackRate? :) – kusma 2011-02-02 21:20:40