¿Cómo ajustar el volumen del teléfono Android mediante programación desde la aplicación?

Como se indica en el título de este artículo, analicemos cómo ajustar el volumen de un teléfono Android mediante programación desde la aplicación. Básicamente, controla el volumen en la aplicación significa 

  • Aumentar o disminuir el volumen sin la interfaz de usuario de la barra de volumen
  • Aumente o disminuya el volumen con la interfaz de usuario de la barra de volumen
  • Silenciar o activar el dispositivo

Así que vamos a discutir estos tres procesos paso a paso.

Aumentar o disminuir el volumen sin la interfaz de usuario de la barra de volumen

Para controlar mediante programación el volumen en un dispositivo Android, siga los siguientes pasos:

Paso 1: Crear un nuevo proyecto

Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Kotlin como lenguaje de programación.

Paso 2: trabajar con el archivo activity_main.xml

Cuando la configuración esté lista, vaya al archivo activity_main.xml , que representa la interfaz de usuario del proyecto. Crea dos Botones , uno para subir el volumen y otro para bajarlo, uno debajo del otro. A continuación se muestra el código para el  archivo  activity_main.xml .

XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
  
    <Button
        android:id="@+id/btnUp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_above="@+id/btnDown"
        android:text="+"
        />
  
    <Button
        android:id="@+id/btnDown"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="-"
        />
  
</RelativeLayout>

Paso 3: trabajar con el archivo MainActivity.kt

En el archivo MainActivity.kt , declare los dos botones y un administrador de audio (consulte los códigos). Al configurar los oyentes al hacer clic en los botones, usaríamos el administrador de audio para aumentar o disminuir el volumen. A continuación se muestra el código del  archivo MainActivity.kt . Se agregan comentarios dentro del código para comprender el código con más detalle.

Kotlin

import android.media.AudioManager
import android.os.Bundle
import android.widget.Button
import androidx.appcompat.app.AppCompatActivity
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // Declare Buttons
        val upBtn = findViewById<Button>(R.id.btnUp)
        val downBtn = findViewById<Button>(R.id.btnDown)
  
        // Declare an audio manager
        val audioManager = applicationContext.getSystemService(AUDIO_SERVICE) as AudioManager
  
        // At the click of upBtn
        upBtn.setOnClickListener {
            // ADJUST_RAISE = Raise the volume, FLAG_PLAY_SOUND = make a sound when clicked
            audioManager.adjustVolume(AudioManager.ADJUST_RAISE, AudioManager.FLAG_PLAY_SOUND)
        }
        // At the click of downBtn
        downBtn.setOnClickListener {
            // ADJUST_LOWER = Lowers the volume, FLAG_PLAY_SOUND = make a sound when clicked
            audioManager.adjustVolume(AudioManager.ADJUST_LOWER, AudioManager.FLAG_PLAY_SOUND)
        }
    }
}

Salida: ejecutar en el emulador

Aumente o disminuya el volumen con la interfaz de usuario de la barra de volumen

El único cambio que tenemos que hacer es pasar el parámetro AudioManager.FLAG_SHOW_UI en lugar de AudioManager.FLAG_PLAY_SOUND en el archivo MainActivity.kt . A continuación se muestra el código del  archivo MainActivity.kt . Se agregan comentarios dentro del código para comprender el código con más detalle.

Kotlin

import android.content.Context
import android.media.AudioManager
import android.os.Bundle
import android.widget.Button
import androidx.appcompat.app.AppCompatActivity
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // Declare Buttons
        val upBtn = findViewById<Button>(R.id.btnUp)
        val downBtn = findViewById<Button>(R.id.btnDown)
  
        // Declare an audio manager
        val audioManager = applicationContext.getSystemService(Context.AUDIO_SERVICE) as AudioManager
  
        // At the click of upBtn
        upBtn.setOnClickListener {
            // ADJUST_RAISE = Raise the volume, FLAG_SHOW_UI = show changes made to volume bar
            audioManager.adjustVolume(AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI)
        }
  
        // At the click of downBtn
        downBtn.setOnClickListener {
            // ADJUST_LOWER = LOWER the volume, FLAG_SHOW_UI = show changes made to volume bar
            audioManager.adjustVolume(AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI)
        }
    }
}

Salida: ejecutar en el emulador

Se puede ver que el volumen aumenta cuando se hace clic en «+», y de manera similar, disminuye cuando se hace clic en «-«. Cuando el teléfono se silencia por completo, los cambios se pueden ver en la barra de volumen.

Silenciar o activar el dispositivo

Paso 1: trabajar con el archivo activity_main.xml

Cuando la configuración esté lista, vaya al archivo activity_main.xml , que representa la interfaz de usuario del proyecto. Cree dos botones, uno para silenciar y otro para activar el dispositivo, uno debajo del otro. A continuación se muestra el código para el  archivo  activity_main.xml .

XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
  
    <Button
        android:id="@+id/btnMute"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="Mute"
        android:layout_above="@+id/btnUnmute"
        />
  
    <Button
        android:id="@+id/btnUnmute"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="Unmute"
        />
  
</RelativeLayout>

Paso 2: trabajar con el archivo MainActivity.kt

En el archivo MainActivity.kt , declare los dos botones y un administrador de audio (consulte los códigos). Al configurar los oyentes al hacer clic en los botones, usaríamos el administrador de audio para silenciar o reactivar el dispositivo. A continuación se muestra el código del  archivo MainActivity.kt . Se agregan comentarios dentro del código para comprender el código con más detalle.

Kotlin

import android.content.Context
import android.media.AudioManager
import android.os.Bundle
import android.widget.Button
import androidx.appcompat.app.AppCompatActivity
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // Declare Buttons
        val muteBtn = findViewById<Button>(R.id.btnMute)
        val unmuteBtn = findViewById<Button>(R.id.btnUnmute)
  
        // Declare an audio manager
        val audioManager = applicationContext.getSystemService(Context.AUDIO_SERVICE) as AudioManager
  
  
        muteBtn.setOnClickListener {
            // ADJUST_Mute = Mutes the device, FLAG_SHOW_UI = show changes made to volume bar
            audioManager.adjustVolume(AudioManager.ADJUST_MUTE, AudioManager.FLAG_SHOW_UI)
        }
  
        unmuteBtn.setOnClickListener {
            // ADJUST_Unmute = Unmutes the device, FLAG_SHOW_UI = show changes made to volume bar
            audioManager.adjustVolume(AudioManager.ADJUST_UNMUTE, AudioManager.FLAG_SHOW_UI)
        }
    }
}

Salida: ejecutar en el emulador

Publicación traducida automáticamente

Artículo escrito por aashaypawar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *