我想播放声音5秒,但我正在使用的代码无限播放声音。
我的代码是
final MediaPlayer player = new MediaPlayer();
AssetFileDescriptor afd = this.getResources().openRawResourceFd(R.raw.hangout_ringtone);
player.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
afd.close();
player.setAudioStreamType(AudioManager.STREAM_ALARM);
player.setLooping(true);
player.prepare();
答案 0 :(得分:2)
尝试从代码中删除此行
player.setLooping(true);
答案 1 :(得分:2)
使用延迟的Runnable来停止音频。
postDelayed(new Runnable() {
public void run() {
//Code to stop your sound
}
}, 5000);
答案 2 :(得分:1)
创建一个新的处理程序以发布何时停止的延迟。
mMediaPlayer.start();
// wait 5 sec... then stop the player.
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
mMediaPlayer.stop();
}
}, 5000);//millisec.