android-components/components/feature/media/README.md

60 lines
2.0 KiB
Markdown
Raw Normal View History

2023-11-28 09:10:03 +01:00
# [Android Components](../../../README.md) > Feature > Media
Feature component for website media related features.
## Usage
Add the push service for controlling the media session:
```kotlin
class MediaSessionService(
override val store: BrowserStore,
override val crashReporter: CrashReporting
) : AbstractMediaSessionService()
```
Expose the service in the `AndroidManifest.xml`:
```xml
<service android:name=".media.MediaSessionService"
android:foregroundServiceType="mediaPlayback"
android:exported="false" />
```
### Setting up the dependency
Use Gradle to download the library from [maven.mozilla.org](https://maven.mozilla.org/) ([Setup repository](../../../README.md#maven-repository)):
```Groovy
implementation "org.mozilla.components:feature-media:{latest-version}"
```
### Notification: Recording devices
`RecordingDevicesNotificationFeature` can be used to show an ongoing notification when a recording device (camera,
microphone) is used by web content. Notifications will be shown in the "Media" notification channel.
This feature should only be initialized once globally:
```kotlin
RecordingDevicesNotificationFeature(applicationContext, sessionManager)
.enable()
```
## Facts
This component emits the following [Facts](../../support/base/README.md#Facts):
| Action | Item | Description |
|--------|-----------------|-------------------------------------------|
| PLAY | state | Media started playing. |
| PAUSE | state | Media playback was paused. |
| STOP | state | Media playback has ended. |
| PLAY | notification | Play action of notification was invoked |
| PAUSE | notification | Pause action of notification was invoked |
## License
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/