Zastanawiałem się, jak mogę odtworzyć dźwięk powiadomienia bez odtwarzania go w strumieniu multimediów. Teraz mogę to zrobić za pomocą odtwarzacza multimedialnego, jednak nie chcę, aby był odtwarzany jako plik multimedialny, chcę, aby był odtwarzany jako powiadomienie, alert lub dzwonek. oto przykład tego, jak wygląda teraz mój kod:
MediaPlayer mp = new MediaPlayer();
mp.reset();
mp.setDataSource(notificationsPath+ (String) apptSounds.getSelectedItem());
mp.prepare();
mp.start();
android
audio
notifications
ninjasense
źródło
źródło
MediaPlayer - Should have subtitle controller already set
. Co to znaczy?Możesz to teraz zrobić, dołączając dźwięk podczas tworzenia powiadomienia, zamiast wywoływać dźwięk osobno.
źródło
Jeśli chcesz, aby odtwarzany był domyślny dźwięk powiadomienia, możesz użyć metody klasy setDefaults (int)
NotificationCompat.Builder
:Uważam, że to najłatwiejszy sposób na wykonanie zadania.
źródło
Spróbuj tego:
źródło
Minęło trochę czasu od twojego pytania, ale ... Czy próbowałeś ustawić typ strumienia audio?
Należy to zrobić przed przygotowaniem.
źródło
Miałem mniej więcej to samo pytanie. Po kilku badaniach myślę, że jeśli chcesz odtworzyć domyślny systemowy „dźwięk powiadomienia”, w zasadzie musisz wyświetlić powiadomienie i nakazać mu użycie domyślnego dźwięku. I jest coś do powiedzenia na temat argumentu w niektórych innych odpowiedziach, że jeśli odtwarzasz dźwięk powiadomienia, powinieneś również przedstawić komunikat powiadomienia.
Jednak trochę poprawiając interfejs API powiadomień i możesz zbliżyć się do tego, co chcesz. Możesz wyświetlić puste powiadomienie, a następnie usunąć je automatycznie po kilku sekundach. Myślę, że to zadziała dla mnie; może to zadziała dla Ciebie.
Stworzyłem zestaw wygodnych metod,
com.globalmentor.android.app.Notifications.java
dzięki którym możesz stworzyć dźwięk powiadomienia w następujący sposób:Dioda LED również będzie migać, a jeśli masz pozwolenie na wibracje, wystąpią wibracje. Tak, ikona powiadomienia pojawi się na pasku powiadomień, ale zniknie po kilku sekundach.
W tym momencie możesz zdać sobie sprawę, że skoro powiadomienie i tak zniknie, równie dobrze możesz mieć przewijany komunikat na pasku powiadomień; możesz to zrobić w ten sposób:
W tej klasie istnieje wiele innych wygodnych metod. Możesz pobrać całą bibliotekę z repozytorium Subversion i zbudować ją za pomocą Mavena. Zależy to od biblioteki globalmentor-core, którą można również zbudować i zainstalować za pomocą Maven.
źródło
Możesz użyć Notification i NotificationManager, aby wyświetlić żądane powiadomienie. Następnie możesz dostosować dźwięk, który chcesz odtwarzać, za pomocą powiadomienia.
źródło
Myślę, że koncepcja „dźwięku powiadomienia” jest w jakiś sposób błędna dla interfejsu użytkownika Androida.
Oczekiwane zachowanie systemu Android polega na użyciu standardowego powiadomienia w celu ostrzeżenia użytkownika. Jeśli odtwarzasz dźwięk powiadomienia bez ikony na pasku stanu, możesz zdezorientować użytkownika („co to był za dźwięk? Nie ma tutaj ikony, może mam problemy ze słuchem?”).
Jak ustawić dźwięk w powiadomieniu, na przykład tutaj: Ustawianie dźwięku dla powiadomienia
źródło
źródło
Ustaw dźwięk na kanał powiadomień
źródło