Eu queria saber como eu poderia reproduzir um som de notificação sem reproduzi-lo no fluxo de mídia. No momento, posso fazer isso através do media player, mas não quero que ele seja reproduzido como um arquivo de mídia, quero que seja reproduzido como uma notificação, alerta ou toque. Aqui está um exemplo de como meu código se parece agora:
MediaPlayer mp = new MediaPlayer();
mp.reset();
mp.setDataSource(notificationsPath+ (String) apptSounds.getSelectedItem());
mp.prepare();
mp.start();
android
audio
notifications
ninjasense
fonte
fonte
MediaPlayer - Should have subtitle controller already set
. O que isso significa?Agora você pode fazer isso incluindo o som ao criar uma notificação em vez de chamá-lo separadamente.
fonte
Se você deseja que um som de notificação padrão seja reproduzido, use o método setDefaults (int) da
NotificationCompat.Builder
classe:Acredito que seja a maneira mais fácil de realizar sua tarefa.
fonte
Tente o seguinte:
fonte
Já faz um tempo desde a sua pergunta, mas ... Você já tentou definir o tipo de fluxo de áudio?
Isso deve ser feito antes da preparação.
fonte
Eu tinha praticamente a mesma pergunta. Após algumas pesquisas, acho que, se você deseja reproduzir o "som de notificação" padrão do sistema, é necessário exibir uma notificação e dizer para usar o som padrão. E há algo a ser dito para o argumento em algumas das outras respostas: se você estiver tocando um som de notificação, também deverá apresentar uma mensagem de notificação.
No entanto, um pouco de ajustes na API de notificação e você pode se aproximar do que deseja. Você pode exibir uma notificação em branco e removê-la automaticamente após alguns segundos. Eu acho que isso vai funcionar para mim; Talvez funcione para você.
Criei um conjunto de métodos de conveniência nos
com.globalmentor.android.app.Notifications.java
quais você pode criar um som de notificação como este:O LED também pisca e, se você tiver permissão para vibrar, ocorrerá uma vibração. Sim, um ícone de notificação aparecerá na barra de notificações, mas desaparecerá após alguns segundos.
Nesse ponto, você pode perceber que, como a notificação desaparecerá de qualquer maneira, você também pode ter uma mensagem de rolagem na barra de notificação; você pode fazer isso assim:
Existem muitos outros métodos de conveniência nesta classe. Você pode baixar a biblioteca inteira do repositório Subversion e construí-la com o Maven. Depende da biblioteca globalmentor-core, que também pode ser criada e instalada com o Maven.
fonte
Você pode usar o Notification and NotificationManager para exibir a notificação desejada. Você pode personalizar o som que deseja reproduzir com sua notificação.
fonte
Eu acho que o conceito de "som de notificação" está de alguma forma errado para a interface do usuário do Android.
O comportamento esperado do Android é usar a notificação padrão para alertar o usuário. Se você tocar um som de notificação sem o ícone da barra de status, confundirá o usuário ("que som era esse? Não há ícone aqui, talvez eu esteja com problemas de audição?").
Como definir som em uma notificação, por exemplo, aqui: Configuração do som para notificação
fonte
fonte
Definir som para o canal de notificação
fonte