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

Android開発記録雑記

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

今日からは新たな項目です。
マルチメディアを使用したアプリ開発として
まず、オーディオ関連の内容を見ていきます。

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);


本日は以上です。