今日からは新たな項目です。
マルチメディアを使用したアプリ開発として
まず、オーディオ関連の内容を見ていきます。
Managing Audio Playback
の最初、音量や再生の制御についてです。
オーディオといっても、スマホには
音楽、アラーム、通知、着信音、システムサウンド
など様々なものがり、それぞれにデバイスで設定されています。
setVolumeControlStream(AudioManager.STREAM_MUSIC);
これコードによって現在再生中のオーディオの音量設定が
ハードウェア側で設定できるようになります。
その他の再生や停止といったボタンにアプリで対応するには
まず、マニフェストファイルに追加します。
<receiver android:name=".RemoteControlReceiver">
<intent-filter>
<action android:name="android.intent.action.MEDIA_BUTTON" />
</intent-filter>
</receiver>
そしてボタンが押されたときの処理を追加します。
public class RemoteControlReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_MEDIA_BUTTON.equals(intent.getAction())) {
KeyEvent event = (KeyEvent)intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
if (KeyEvent.KEYCODE_MEDIA_PLAY == event.getKeyCode()) {
ここで再生ボタンが押されたときの処理
}
}
}
}
さらに、オーディオメディアのボタンに対して
複数のアプリが待機している場合でも
最優先で制御を受け取る処理
AudioManager am = mContext.getSystemService(Context.AUDIO_SERVICE);
...
制御を登録する
am.registerMediaButtonEventReceiver(RemoteControlReceiver);
...
制御を解除する
am.unregisterMediaButtonEventReceiver(RemoteControlReceiver);
本日は以上です。