Cómo usar altavoces en wearables

Algunos dispositivos Wear OS incluyen altavoces, lo que permite incorporar sonido a las apps y ofrecer una dimensión adicional de interacción con el usuario. Un dispositivo Wear con altavoz incorporado podría activar una alarma de reloj 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 Android API para reproducir sonidos a través del altavoz del dispositivo.

Consulta los siguientes recursos relacionados:

Detectar el altavoz

Una app para Wear primero debe detectar si el dispositivo wearable tiene altavoz. 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 el altavoz, el proceso de reproducción de sonido en Wear OS es el mismo que para un teléfono móvil u 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 permiso para usar el micrófono. Para obtener más información, consulta Permisos en Wear OS.