動画アプリは、同じアクティビティでメディア セッションとメディア コントローラを実行するため、メディア セッションのコールバックは、オーディオ アプリのクライアント サーバー アーキテクチャで示されている実装とは異なります。サービス呼び出しはなく、通知は NotificationManager を使用して処理されます。次の表に、各コールバック メソッドでさまざまな機能がどのように制御されるかを示します。
| onPlay() | onPause() | onStop() | |
| 音声フォーカス | requestFocus()。OnAudioFocusChangeListener を渡します。必ず最初に requestFocus() を呼び出し、フォーカスが許可された場合にのみ続行します。
|
abandonAudioFocus()
|
|
| メディア セッション | setActive(true)
- メタデータと状態を更新する |
- メタデータと状態を更新する | setActive(false)
- メタデータと状態を更新する |
| プレーヤーの実装 | プレーヤーを起動する | プレーヤーを一時停止する | プレーヤーを停止する |
| Becoming Noisy | BroadcastReceiver を登録する
|
BroadcastReceiver の登録を解除する
|
|
| 通知 | 通知を表示する | アップデートに関する通知 |