2010-02-26 34 views
5

Tôi hiện đang bắt đầu Nhạc chuông trên Android và nhạc chuông phát tốt.Android - Nhạc chuông không ngừng phát

Tuy nhiên khi tôi cố gắng dừng nhạc chuông, nó không dừng lại hoặc ít nhất không dừng lại ngay lập tức, nó sẽ tiếp tục phát cho đến khi nó phát ra.

Dưới đây là làm thế nào tôi thiết lập Ringtone:

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();  

    } 

Và đây là cách tôi cố gắng để ngăn chặn nó

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

Có ai đi qua vấn đề tương tự hoặc thấy bất kỳ sai lầm trong ma cua toi?

EDIT:

Chỉ cần thêm tôi đã thêm đăng nhập để xem nếu ringtone.isPlaying() trả về true hoặc false sau khi tôi gọi ringtone.stop() và nó trả về false, tuy nhiên những giai điệu giữ chơi cho một cặp vợ chồng giây (3-5 giây) sau trước khi dừng

+0

tôi nghĩ rằng nó tốt hơn nếu bạn ngừng nhạc chuông đầu tiên trước khi đặt nó để null. ringtone.stop() thực sự hiệu quả với tôi. – artsylar

Trả lời

6

Đối với bất cứ ai mà đi qua này:

tôi đã phải sử dụng người quản lý ringTone để giúp ngăn chặn các nhạc chuông.

Thêm dòng sau được sắp xếp nó ra

ringtoneManager.stopPreviousRingtone(); 
Các vấn đề liên quan