Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る

ウェアラブル上でスピーカーを使用する

Wear OS デバイスにはスピーカーが搭載されているものがあり、アプリにサウンドを組み込むことで優れた使用感をユーザーに提供できます。スピーカーを搭載した Wear デバイスでは、音声による通知に対応した時計やタイマーのアラームを起動することができます。Wear のゲームでも、視覚効果だけでなくサウンドも使用することで、さらにエンターテインメント性が高まります。

このページでは、Wear アプリでおなじみの Android API を使い、デバイスのスピーカーでサウンドを再生する方法について説明します。

以下の関連リソースもご覧ください。

スピーカーの検出

Wear アプリは、最初にウェアラブル デバイスにスピーカーが搭載されているかどうかを検出する必要があります。下記のアプリの場合、getDevices() メソッドと FEATURE_AUDIO_OUTPUT 値を使用して、デバイスにスピーカーが搭載されているか確認しています。

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;
    

サウンドの再生

Wear OS でのスピーカー検出後のサウンドの再生処理は、ハンドセットなどのデバイスと同じです。詳しくは、メディアの再生をご覧ください。

ウェアラブルのマイクを使って録音したい場合は、アプリでマイクの使用権限も取得する必要があります。詳細については、Wear OS 上のパーミッションをご覧ください。