Varios métodos de ajuste de volumen en Android

El volumen de nuestro teléfono móvil generalmente lo ajusta el usuario a través del botón de volumen en el costado del teléfono, pero a veces también necesitamos ajustar el volumen nosotros mismos, luego debemos tener una comprensión completa del ajuste de volumen de Android. Hoy presentaré algunos ajustes de volumen en Android.

1. Introducción a los tipos de tonos de llamada

Para ajustar el volumen, debemos tener conocimiento de los tipos de tonos de llamada en el sistema Android. El sistema Android China tiene 6 tipos de tonos de llamada, que son tonos de llamada, tonos de sistema, tonos de llamada, tonos de medios, tonos de alarma y tonos de notificación. Enumero una tabla, que contiene varios tonos de llamada y las marcas correspondientes.

Tipo de anillo de la clase AudioManager

Nombre del tono de llamada Descripción
STREAM_VOICE_CALL Tono de llamada  
STREAM_SYSTEM Tono del sistema  
STREAM_RING Tono de llamada Tonos de timbre para llamadas entrantes y mensajes de texto
STREAM_MUSIC Sonido multimedia Sonido de audio, video, juegos, etc.
STREAM_ALARM Tono de alarma  
STREAM_NOTIFICATION Tono de notificación  

2. Introducción y adquisición de AudioManager

La herramienta para administrar el volumen de estos tonos de llamada es AudioManager, y el objeto se obtiene del servicio del sistema AUDIO_SERVICE. El método de obtención es el siguiente:

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

3. Métodos comunes de AudioManager

  • getStreamMaxVolume: obtiene el volumen máximo del tipo de tono de llamada especificado.
  • getStreamVolume: Obtiene el volumen actual del tipo de tono de llamada especificado.
  • getRingerMode: obtenga el modo de timbre del tipo de tono de timbre especificado. La descripción del valor del modo de anillo se muestra en la siguiente tabla:
tabla 1
Modo de timbre de la clase AudioManager Descripción
RINGER_MODE_NORMAL normal
RINGER_MODE_SILENT Silencio
RINGER_MODE_VIBRATE conmoción
  • setStreamVolume: establece el volumen actual del tipo de tono de llamada especificado.
  • setRingerMode: establece el modo de timbre del tipo de timbre especificado. Consulte la Tabla 1 para obtener una descripción del valor del modo de timbre.
  • AdjustStreamVolume: ajusta el volumen actual del tipo de tono de llamada especificado. El primer parámetro es el tipo de tono de llamada; el segundo parámetro es la dirección de ajuste, y el valor de la dirección de ajuste de volumen se describe en la Tabla 2. El tercer parámetro indica la acción adicional durante el ajuste. Generalmente, FLAG_PLAY_SOUND se utiliza para indicar un tono de llamada durante ajustamiento.
Tabla 2
Dirección de ajuste de volumen de la clase AudioManager Descripción
ADJUST_RAISE Incrementar un nivel
ADJUST_LOWER Abajo un nivel
ADJUST_SAME Esperar
ADJUST_MUTE Silencio
ADJUST_UNMUTE Activar sonido
ADJUST_TOGGLE_MUTE El silencio se invierte, es decir, se establece el silencio si no está en silencio y se cancela el silencio si está en silencio.

4. La diferencia entre setStreamVolume y adjustStreamVolume

Se pueden usar los métodos setStreamVolume y adjustStreamVolume para establecer el volumen. La diferencia es que setStreamVolume ajusta directamente el volumen al valor objetivo, generalmente se usa junto con la barra de arrastre; mientras que adjustStreamVolume se basa en el volumen actual, y luego aumenta, disminuye o ajusta Silenciar.

5. Ejemplo de uso

Damos un ejemplo de cómo ajustar el volumen de los medios. El valor del segundo parámetro de setStreamVolume debe usarse junto con getStreamMaxVolume para obtener el valor de volumen máximo del dispositivo actual.

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

He escrito mucho sobre el ajuste de volumen en Android. Si tiene algún hallazgo nuevo, deje un mensaje y hágamelo saber.

Supongo que te gusta

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