Sev*_*yev 2 audio android audiotrack
我正在AudioTrackAndroid上播放PCM WAV声音文件(另见此处).流模式,工作线程.我想知道如何检测声音的结束,以便我可以释放并释放声音AudioTrack.write()看起来,这个调用是阻塞的 - 但它会阻塞,直到所提供数据的回放完成为止?不太确定.
是我,还是这个班级的文件严重不足?如果你碰巧有一个很好的非官方指南的链接AudioTrack,我愿意看到一个.
Min*_*ine 11
根据我的经验,AudioTrack.write()调用会阻塞,直到数据写入HW的音频缓冲区.
所以write()完成后,保证音频播放.基本上它运作良好.
要更精确地检测音频结束,请使用AudioTrack.setNotificationMarkerPosition()和AudioTrack.setPlaybackPositionUpdateListener().注意setNotificationMarkerPosition()计算音频样本(而不是字节),因此如果您的音频是16位样本,则位置将为dataSize/2.
我的项目中有一个例子:https: //github.com/mine260309/android-sexypsf-player/blob/psf2/src/com/mine/psf/sexypsf/MineSexyPsfPlayer.java
| 归档时间: |
|
| 查看次数: |
4690 次 |
| 最近记录: |