Android開発記録雑記 -11ページ目

Android開発記録雑記

パソコン中級者ぐらいの私が
スマホアプリの開発をしてみようと思い立ち
Androidで動くアプリ開発過程をこれから書き記していきます。

本日はオーディオ再生の最後の項目
Dealing with Audio Output Hardware
です。

ハードウェアのチェックについてです。


まず、どんなハードウェアを使用しているかのチェック
コレはオーディオマネージャのメソッドから調べれます。
if (isBluetoothA2dpOn()) {
Bluetoothの出力
} else if (isSpeakerphoneOn()) {
スピーカーの出力
} else if (isWiredHeadsetOn()) {
ヘッドセットの出力
} else {
}



次に、プラグを外したなどのハードウェアの変更があったとき
システムは ACTION_AUDIO_BECOMING_NOISY をブロードキャストするので
BroadcastReceiver を使って監視します。

大音量で音が漏れ出すのを防ぐ為に使ったりします。

private class NoisyAudioStreamReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (AudioManager.ACTION_AUDIO_BECOMING_NOISY.
    equals(intent.getAction())) {
            // Pause the playback
        }
    }
}
private IntentFilter intentFilter = new IntentFilter(AudioManager.ACTION_AUDIO_BECOMING_NOISY);
private void startPlayback() {
    registerReceiver(NoisyAudioStreamReceiver(), intentFilter);
}
private void stopPlayback() {
    unregisterReceiver(NoisyAudioStreamReceiver);
}


本日は以上です。