2012-04-26 29 views
16

Jak mogę odtwarzać dźwięk powiadomienia (bez wysyłania powiadomienia o pasku stanu)? Chcę domyślnego dźwięku powiadomienia i odtwarzam go dokładnie tak, jak dźwięk powiadomienia. Czy można to osiągnąć za pomocą MediaPlayer?Domyślnie tylko dźwięk powiadomienia z gry (Android)

+0

Można to zrobić za pomocą MediaPlayer jeśli tylko znaleźć plik dźwiękowy. Powinieneś być w stanie znaleźć domyślny dźwięk gdzieś w źródłach Androida. Sprawdź pytanie klasy Notification i [this] (http://stackoverflow.com/questions/4441334/how-to-play-an-android-notification-sound). – keyser

Odpowiedz

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

Więcej informacji: 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(); 
Powiązane problemy