为什么 MediaPlayer 中的音频不循环播放?
Why does audio in MediaPlayer not loop?
这是我的代码部分:
sound= MediaPlayer.create(getContext(),R.raw.sound);
sound.start();
sound.setLooping(true);
这不会在音频完成后循环播放。然后我检查了之前在此站点上发布的其他一些解决方案并尝试了以下操作:
sound= MediaPlayer.create(getContext(),R.raw.sound);
sound.start();
sound.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.seekTo(0);
mp.start();
}
});
这也无助于在完成一次后重新启动音频。
还有什么我可以尝试的吗?
我认为这只是您开始它,然后尝试将其设置为循环。试试这样。
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(mp!=null){
mp.reset();
mp.release();
}
mp = MediaPlayer.create(getApplicationContext(), R.raw.sound);
mp.setLooping(true);
mp.start();
}
});
事实证明问题出在我的模拟器 (Genymotion) 上,它没有循环。当我在实际的 android 设备中尝试 apk 时,它运行良好。
这是我的代码部分:
sound= MediaPlayer.create(getContext(),R.raw.sound);
sound.start();
sound.setLooping(true);
这不会在音频完成后循环播放。然后我检查了之前在此站点上发布的其他一些解决方案并尝试了以下操作:
sound= MediaPlayer.create(getContext(),R.raw.sound);
sound.start();
sound.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.seekTo(0);
mp.start();
}
});
这也无助于在完成一次后重新启动音频。 还有什么我可以尝试的吗?
我认为这只是您开始它,然后尝试将其设置为循环。试试这样。
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(mp!=null){
mp.reset();
mp.release();
}
mp = MediaPlayer.create(getApplicationContext(), R.raw.sound);
mp.setLooping(true);
mp.start();
}
});
事实证明问题出在我的模拟器 (Genymotion) 上,它没有循环。当我在实际的 android 设备中尝试 apk 时,它运行良好。