Я хочу воспроизвести звук уведомления, и моя проблема в том, что звук зацикливается навсегда, когда он должен звук только один раз
Я пробовал два способа:
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();
}
});
Во втором случае я никогда не вижу след "конец, мы должны отпустить", звук воспроизводится снова и снова и снова.
Есть идеи?
Большое спасибо
ОБНОВЛЕНИЕ:
Я попробовал два устройства и: