android-components/components/feature/media
harvey186 33460cf494 search_engine 2023-12-25 10:19:33 +01:00
..
build search_engine 2023-12-25 10:19:33 +01:00
src first commit 2023-11-28 09:10:03 +01:00
README.md first commit 2023-11-28 09:10:03 +01:00
build.gradle first commit 2023-11-28 09:10:03 +01:00
proguard-rules.pro first commit 2023-11-28 09:10:03 +01:00

README.md

Android Components > Feature > Media

Feature component for website media related features.

Usage

Add the push service for controlling the media session:

class MediaSessionService(
    override val store: BrowserStore,
    override val crashReporter: CrashReporting
) : AbstractMediaSessionService()

Expose the service in the AndroidManifest.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 (Setup repository):

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:

RecordingDevicesNotificationFeature(applicationContext, sessionManager)
    .enable()

Facts

This component emits the following 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/