我想打一个通知声音,我的问题是它的声音一直循环,当它应该听起来只有一次。
我已经试过两种方式:
notification.sound = Uri.parse("content://media/internal/audio/media/38");
和
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_NOTIFICATION);
mMediaPlayer.setDataSource(this, Uri.parse("content://media/internal/audio/media/38"));
mMediaPlayer.setLooping(false);
mMediaPlayer.prepare();
mMediaPlayer.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
Log.v(Utils.TAG, "onprepared");
mp.start();
}
});
mMediaPlayer.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
Log.v(Utils.TAG, "end, we should release");
mp.stop();
mp.release();
}
});
在第二种情况下,我从来没有看到跟踪“到底,我们应该释放”时,音频播放一遍又一遍又一遍。
任何的想法?
非常感谢你
更新:
我试过两台设备:
- 它永远在循环,在Galaxy Nexus与ICS 4.0.4
- 它工作正常,在HTC Hero的2.2.1