Únete a ⁠ #Android11: The Beta Launch Show el 3 de junio.

Cómo usar bocinas en wearables

Algunos dispositivos Wear OS incluyen bocinas, lo que permite incorporar sonido a las apps y ofrecer una dimensión adicional de interacción con el usuario. Un dispositivo Wear con bocina incorporada podría activar una alarma o cronómetro con una notificación de audio. Los juegos en Wear son mucho más entretenidos debido a que no solo ofrecen imagen, sino también sonido.

En esta página, se describe la forma en que las apps que se ejecutan en Wear pueden usar la API de Android para reproducir sonidos a través de la bocina del dispositivo.

Consulta los siguientes recursos relacionados:

Cómo detectar la bocina

Una app para Wear primero debe detectar si el dispositivo wearable tiene una bocina. En el siguiente ejemplo, la app usa el método getDevices() junto con el valor FEATURE_AUDIO_OUTPUT para confirmar si el dispositivo está equipado con un altavoz.

Kotlin

    val packageManager: PackageManager = context.packageManager
    val audioManager = context.getSystemService(Context.AUDIO_SERVICE) as AudioManager

    // Check whether the device has a speaker.
    return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M &&
            // Check FEATURE_AUDIO_OUTPUT to guard against false positives.
            packageManager.hasSystemFeature(PackageManager.FEATURE_AUDIO_OUTPUT)) {
        val devices: Array<AudioDeviceInfo> = audioManager.getDevices(AudioManager.GET_DEVICES_OUTPUTS)
        devices.any { it.type == AudioDeviceInfo.TYPE_BUILTIN_SPEAKER }
    } else {
        false
    }
    

Java

    PackageManager packageManager = context.getPackageManager();
    AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);

    // Check whether the device has a speaker.
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M &&
            // Check FEATURE_AUDIO_OUTPUT to guard against false positives.
            packageManager.hasSystemFeature(PackageManager.FEATURE_AUDIO_OUTPUT)) {
        AudioDeviceInfo[] devices = audioManager.getDevices(AudioManager.GET_DEVICES_OUTPUTS);
        for (AudioDeviceInfo device : devices) {
            if (device.getType() == AudioDeviceInfo.TYPE_BUILTIN_SPEAKER) {
                return true;
            }
        }
    }
    return false;
    

Cómo reproducir sonidos

Una vez que se detecta la bocina, el proceso de reproducción de sonido en Wear OS es el mismo que para un teléfono celular o cualquier otro dispositivo. Para obtener más información, consulta Reproducción multimedia.

Si también quieres grabar audio con el micrófono del wearable, tu app debe obtener el permiso correspondiente. Para obtener más información, consulta Permisos en Wear OS.