Vários métodos de ajuste de volume no Android

O volume do nosso telefone celular é geralmente ajustado pelo usuário através do botão de volume na lateral do telefone, mas às vezes também precisamos ajustar o volume nós mesmos, então precisamos ter uma compreensão abrangente do ajuste de volume do Android. Hoje vou apresentar alguns ajustes de volume no Android.

1. Introdução aos tipos de toques

Para ajustar o volume, devemos ter uma compreensão dos tipos de toques no sistema Android. O sistema Android da China tem 6 tipos de tons de toque, que são tons de chamada, tons do sistema, tons de toque, tons de mídia, tons de alarme e tons de notificação. Eu listo uma tabela, que contém vários toques e marcas correspondentes.

Tipo de anel da classe AudioManager

Nome do toque Descrição
STREAM_VOICE_CALL Tom de chamada  
STREAM_SYSTEM Tom do sistema  
STREAM_RING Toque Tons de toque para chamadas recebidas e mensagens de texto
STREAM_MUSIC Som de mídia Áudio, vídeo, jogo, som etc.
STREAM_ALARM Tom de alarme  
STREAM_NOTIFICATION Tom de notificação  

2. Introdução e aquisição do AudioManager

A ferramenta de gerenciamento do volume desses ringtones é o AudioManager, e o objeto é obtido no serviço do sistema AUDIO_SERVICE. O método de obtenção é o seguinte:

AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);

3. Métodos comuns de AudioManager

  • getStreamMaxVolume: Obtenha o volume máximo do tipo de toque especificado.
  • getStreamVolume: obtém o volume atual do tipo de toque especificado.
  • getRingerMode: obtém o modo de toque do tipo de toque especificado. A descrição do valor do modo de toque é mostrada na tabela a seguir:
tabela 1
Modo de toque da classe AudioManager Descrição
RINGER_MODE_NORMAL normal
RINGER_MODE_SILENT Mudo
RINGER_MODE_VIBRATE choque
  • setStreamVolume: Defina o volume atual do tipo de toque especificado.
  • setRingerMode: Defina o modo de toque do tipo especificado de toque. Consulte a Tabela 1 para a descrição do valor do modo de toque.
  • AdjustStreamVolume: Ajuste o volume atual do tipo de toque especificado. O primeiro parâmetro é o tipo de toque; o segundo parâmetro é a direção de ajuste e o valor da direção de ajuste de volume é descrito na Tabela 2. O terceiro parâmetro indica a ação adicional durante o ajuste. Geralmente, FLAG_PLAY_SOUND é usado para indicar um toque durante ajustamento.
mesa 2
Direção de ajuste de volume da classe AudioManager Descrição
ADJUST_RAISE Aumenta um nível
ADJUST_LOWER Descer um nível
ADJUST_SAME Aguentar
ADJUST_MUTE Mudo
ADJUST_UNMUTE Com som
ADJUST_TOGGLE_MUTE O mudo é revertido, ou seja, defina mudo se não estiver mudo e cancele mudo se estiver mudo.

4. A diferença entre setStreamVolume e AdjustStreamVolume

Os métodos setStreamVolume e AdjustStreamVolume podem ser usados ​​para definir o volume. A diferença é que setStreamVolume ajusta diretamente o volume para o valor de destino, geralmente usado em conjunto com a barra de arrastar; enquanto o AdjustStreamVolume é baseado no volume atual e, em seguida, aumenta, diminui ou ajusta. Mudo.

5. Exemplo de uso

Damos um exemplo de ajuste do volume da mídia. O valor do segundo parâmetro de setStreamVolume deve ser usado em conjunto com getStreamMaxVolume para obter o valor de volume máximo do dispositivo atual.

AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
am.setStreamVolume(AudioManager.STREAM_MUSIC,10,AudioManager.FLAG_PLAY_SOUND);

Já escrevi muito sobre o ajuste de volume no Android. Se você tiver novidades, deixe uma mensagem e me avise.

Acho que você gosta

Origin blog.csdn.net/weixin_38322371/article/details/115203951
Recomendado
Clasificación