2012-04-26 47 views
16

Làm cách nào để phát âm báo thông báo (mà không cần kích hoạt thông báo trên thanh trạng thái)? Tôi muốn âm thanh mặc định thông báo và phát chính xác như âm thanh thông báo. Có thể đạt được nó bằng cách sử dụng MediaPlayer không?Chỉ phát âm thanh thông báo mặc định (Android)

+0

Bạn có thể làm điều đó với một MediaPlayer nếu bạn chỉ tìm thấy những tập tin âm thanh. Bạn sẽ có thể tìm thấy âm thanh mặc định ở đâu đó trong các nguồn Android. Xem câu hỏi của lớp Thông báo và [this] (http://stackoverflow.com/questions/4441334/how-to-play-an-android-notification-sound). – keyser

Trả lời

27
Uri defaultRingtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 

MediaPlayer mediaPlayer = new MediaPlayer(); 

try { 
     mediaPlayer.setDataSource(context, defaultRingtoneUri); 
     mediaPlayer.setAudioStreamType(AudioManager.STREAM_NOTIFICATION); 
     mediaPlayer.prepare(); 
     mediaPlayer.setOnCompletionListener(new OnCompletionListener() { 

     @Override 
     public void onCompletion(MediaPlayer mp) 
     { 
      mp.release(); 
     } 
     }); 
    mediaPlayer.start(); 
} catch (IllegalArgumentException e) { 
e.printStackTrace(); 
} catch (SecurityException e) { 
e.printStackTrace(); 
} catch (IllegalStateException e) { 
e.printStackTrace(); 
} catch (IOException e) { 
e.printStackTrace(); 
} 
+1

Thông tin thêm: http://developer.android.com/guide/topics/media/mediaplayer.html – Lobo

5
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 
Ringtone r = RingtoneManager.getRingtone(context.getApplicationContext(), notification); 
r.play(); 
Các vấn đề liên quan