現在、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 秒) 再生され続けます。停止中