【发布时间】:2013-05-05 10:37:57
【问题描述】:
我正在尝试播放音频文件x 次数,并向用户显示x 的值。我的问题是我可以使用mp.setLooping(true) 来循环播放音频,循环之间没有任何间隙,但我无法处理重复次数。所以我使用了OnCompletionListener 一切都很好,但它会在每次重复结束或开始时产生 1 秒的间隙。
如果我使用mp.setLooping(true),则循环之间没有间隙。
如果我使用OnCompletionListener 循环之间的明显差距。
仅在 Android 4.x.x 和 3.x.x 上产生差距。我怎样才能摆脱这个差距?提前谢谢..
我的代码:
int n = 1;
int maxCount = 15; //This value changes according to user input.
private void mpplay() {
// TODO Auto-generated method stub
mp.start();
mp.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
if (n <= maxCount) {
mp.start();
n++;
tv.setText("Counter:" + n);
if (n >= maxCount) {
n = 1;
mp.stop();
}
}
}
});
}
【问题讨论】:
-
n和maxCount是全局声明的。 -
添加线程和可运行处理程序以在第一个音频完成几毫秒之前播放第二个音频文件。
标签: android loops android-mediaplayer