本日はオーディオ再生の最後の項目
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);
}
本日は以上です。