Мне было интересно, как я могу воспроизвести звук уведомления, не воспроизводя его через поток мультимедиа. Прямо сейчас я могу сделать это через медиаплеер, однако я не хочу, чтобы он воспроизводился как медиафайл, я хочу, чтобы он воспроизводился как уведомление или предупреждение или рингтон. Вот пример того, как мой код выглядит прямо сейчас:
MediaPlayer mp = new MediaPlayer();
mp.reset();
mp.setDataSource(notificationsPath+ (String) apptSounds.getSelectedItem());
mp.prepare();
mp.start();
android
audio
notifications
ninjasense
источник
источник
MediaPlayer - Should have subtitle controller already set
. Что это означает?Теперь вы можете сделать это, включив звук при создании уведомления, а не вызывая звук отдельно.
источник
Если вы хотите , звук уведомления по умолчанию для воспроизведения, то вы можете использовать SetDefaults (INT) метод
NotificationCompat.Builder
класса:Я считаю, что это самый простой способ выполнить вашу задачу.
источник
Попробуй это:
источник
С момента вашего вопроса прошло много времени, но ... Вы пытались установить тип аудиопотока?
Это должно быть сделано перед подготовкой.
источник
У меня был почти такой же вопрос. После некоторых исследований я думаю, что если вы хотите воспроизвести системный «звук уведомления» по умолчанию, вам в значительной степени нужно отобразить уведомление и сказать ему использовать звук по умолчанию. И в некоторых других ответах есть что сказать в качестве аргумента о том, что если вы воспроизводите звук уведомления, вам также следует представить некоторое уведомление.
Тем не менее, небольшая настройка API уведомлений позволяет приблизиться к тому, что вы хотите. Вы можете отобразить пустое уведомление, а затем автоматически удалить его через несколько секунд. Я думаю, что это будет работать для меня; может быть, это будет работать для вас.
Я создал набор удобных методов, в
com.globalmentor.android.app.Notifications.java
которых вы можете создать звук уведомления следующим образом:Светодиод также будет мигать, и, если у вас есть разрешение на вибрацию, возникнет вибрация. Да, значок уведомления появится в панели уведомлений, но исчезнет через несколько секунд.
В этот момент вы можете понять, что, поскольку уведомление в любом случае исчезнет, у вас также может появиться сообщение с полосой прокрутки в панели уведомлений; Вы можете сделать это так:
В этом классе есть много других удобных методов. Вы можете скачать всю библиотеку из ее хранилища Subversion и собрать ее с помощью Maven. Это зависит от библиотеки globalmentor-core, которую также можно собрать и установить с помощью Maven.
источник
Вы можете использовать Notification и NotificationManager для отображения нужного вам уведомления. Затем вы можете настроить звук, который хотите воспроизвести, с помощью уведомления.
источник
Я думаю, что понятие «звук уведомления» в какой-то степени неверно для пользовательского интерфейса Android.
Ожидаемое поведение Android - использовать стандартное уведомление для предупреждения пользователя. Если вы воспроизводите звук уведомления без иконки в строке состояния, вы запутываете пользователя («что это был за звук? Здесь нет иконки, может быть, у меня проблемы со слухом?»).
Как установить звук в уведомлении, например, здесь: Настройка звука для уведомления
источник
источник
Установить звук на канал уведомлений
источник