编程语言
首页 > 编程语言> > java – Android – 铃声不会停止播放

java – Android – 铃声不会停止播放

作者:互联网

我目前在Android上启动铃声,它播放正常.

然而,当我试图停止铃声时它不会停止或至少不会立即停止,它会一直播放直到它刚播放出来.

以下是我设置铃声的方法:

int rm = audio_service.getRingerMode();
int vs = audio_service.getVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER);

android.os.Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);

if ((rm == AudioManager.RINGER_MODE_VIBRATE ||
    (rm == AudioManager.RINGER_MODE_NORMAL && vs == AudioManager.VIBRATE_SETTING_ON)))
            v.vibrate(vibratePattern,1);

if (audio_service.getStreamVolume(AudioManager.STREAM_RING) > 0) {                          

    oRingtone = RingtoneManager.getRingtone(this, Settings.System.DEFAULT_RINGTONE_URI);
    oRingtone.setStreamType(AudioManager.STREAM_RING);
    oRingtone.play();       

    }

以下是我试图阻止它的方法

if (CallDialogActivity.oRingtone != null) {
      Log.d("RINGTONE", "Into Ringtone if");
      Ringtone ringtone = CallDialogActivity.oRingtone;
      oRingtone = null;
      ringtone.stop();
}

有没有人遇到过类似的问题或者我的代码中有任何错误?

编辑:

只是要添加我已经添加了日志记录,以便在我调用ringtone.stop()之后看看ringtone.isPlaying()是否返回true或false并且它返回false,但是之前的音调持续播放几秒钟(3 – 5秒)停止

解决方法:

对于任何遇到此问题的人:

我不得不使用RingTone管理器来帮助停止铃声.

添加以下行将其排序

ringtoneManager.stopPreviousRingtone();

标签:java,android,audio,ringtone
来源: https://codeday.me/bug/20190518/1130562.html