Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Поскольку видеоприложение запускает медиасеанс и медиаконтроллер в одном и том же действии, обратные вызовы медиасеанса отличаются от реализации, показанной для архитектуры сервера/клиента аудиоприложения . Вызовы служб отсутствуют, а уведомления обрабатываются через NotificationManager. В следующей таблице показано, как различные функции контролируются в каждом методе обратного вызова:
requestFocus() передает ваш OnAudioFocusChangeListener . Всегда сначала вызывайте requestFocus() , продолжайте только в том случае, если фокус предоставлен.
[null,null,["Последнее обновление: 2025-07-29 UTC."],[],[],null,["# Media session callbacks\n\nSince a video app runs its media session and media controller in the same activity, the media session callbacks\nare different from the implementation shown for the\n[audio app](/guide/topics/media-apps/audio-app/building-an-audio-app)\nserver/client architecture. There are no service calls, and notifications are handled via the NotificationManager. The following table shows how the various features are controlled in each callback method:\n\n\u003cbr /\u003e\n\n|--------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------|------------------------------------------------|\n| | **onPlay()** | **onPause()** | **onStop()** |\n| [Audio Focus](/guide/topics/media-apps/volume-and-earphones#audio-focus) | `requestFocus()` passing in your `OnAudioFocusChangeListener`. *Always call `requestFocus()` first, proceed only if focus is granted.* | | `abandonAudioFocus()` |\n| [Media Session](/guide/topics/media-apps/working-with-a-media-session) | `setActive(true)` - Update metadata and state | - Update metadata and state | `setActive(false)` - Update metadata and state |\n| Player Implementation | Start the player | Pause the player | Stop the player |\n| [Becoming Noisy](/guide/topics/media-apps/volume-and-earphones#becoming-noisy) | Register your `BroadcastReceiver` | Unregister your `BroadcastReceiver` | |\n| Notifications | Show notification | Update notification | |\n\n\u003cbr /\u003e\n\n| **Note:** People using the Google Assistant can control your app with voice commands if you create your MediaSession with the necessary callbacks. The requirements are explained in the [Google Assistant documentation](/guide/topics/media-apps/interacting-with-assistant)."]]