A skill distilled from the official Android Media3 (playback/session) and CameraX (capture) documentation. Depending on the user's task, read the appropriate README.md and follow it to the individual files.
Directory Structure
skills/android-media-camera/
SKILL.md
references/
media3-playback/
README.md
ad-insertion.md
analytics.md
audio-attributes.md
cast-player.md
compose-ui.md
customization.md
data-source-cache.md
downloading-media.md
drm.md
exoplayer.md
live-streaming.md
media-item.md
media-metadata.md
media-source.md
playback-exception.md
playback-parameters.md
player.md
player-listener.md
player-view.md
preload-manager.md
retrieving-metadata.md
timeline-tracks.md
track-selection.md
media-session-editing/
README.md
command-button.md
composition-player.md
composition.md
edited-media-item.md
media-browser.md
media-button-receiver.md
media-controller.md
media-library-service.md
media-notification-provider.md
media-session-callback.md
media-session-service.md
media-session.md
muxer-customization.md
session-commands.md
session-token.md
tone-mapping.md
transformer.md
media3-inspector/
README.md
frame-extractor.md
media-extractor-compat.md
metadata-retriever.md
mediarouter/
README.md
media-router.md
media-route-button.md
media-route-provider.md
media-route-selector.md
remote-playback-client.md
camerax-usecases/
README.md
camera-permissions.md
camera-controller.md
camera-effect.md
camera-compose-viewfinder.md
camera-selector.md
image-analysis.md
image-capture.md
mlkit-analyzer.md
orientation-rotation.md
preview.md
preview-view.md
process-camera-provider.md
recording.md
transform-output.md
use-case-group-viewport.md
video-capture.md
zero-shutter-lag.md
camerax-config/
README.md
camera2-interop.md
camera-control.md
camera-filter.md
camera-info.md
camera-state.md
camera-extensions.md
camerax-config.md
concurrent-camera.md
dynamic-range.md
exposure-state.md
focus-metering-action.md
resolution-selector.md
zoom-state.md
Exploration Procedure
Derive the category from the task, and identify the target page in the category's README.md:
- Find the category corresponding to the task in the mapping table below
- of that category
references/{category}/README.mdto identify the target page - Read the
.mdof the relevant page to check the details
Task → Category Mapping
| Task | Category | Reference README |
|---|---|---|
| I want to play audio/video with Player / ExoPlayer | media3-playback | references/media3-playback/README.md |
| I want to build a media source with MediaItem / MediaSource / DataSource | media3-playback | references/media3-playback/README.md |
| I want to handle track selection and playlist structure with TrackSelector / Timeline / Tracks | media3-playback | references/media3-playback/README.md |
| I want to build a playback screen with PlayerView / Compose UI | media3-playback | references/media3-playback/README.md |
| I want to play DRM-protected content | media3-playback | references/media3-playback/README.md |
| I want to download media for offline playback with DownloadManager / DownloadService | media3-playback | references/media3-playback/README.md |
| I want to do background playback and external integration with MediaSession / MediaSessionService | media-session-editing | references/media-session-editing/README.md |
| I want to connect to and operate a session with MediaController / MediaBrowser | media-session-editing | references/media-session-editing/README.md |
| I want to customize media notifications (MediaNotification.Provider) | media-session-editing | references/media-session-editing/README.md |
| I want to edit and transcode media with Transformer | media-session-editing | references/media-session-editing/README.md |
| I want to get MediaItem metadata, resolution, and codec without playing | media3-inspector | references/media3-inspector/README.md |
| I want to do thumbnail/frame extraction and MediaExtractor-compatible demultiplexing | media3-inspector | references/media3-inspector/README.md |
| I want to detect and select external output devices and output routes | mediarouter | references/mediarouter/README.md |
| I want to display a route selection UI with MediaRouteButton | mediarouter | references/mediarouter/README.md |
| I want to publish a custom MediaRouteProvider and send remote playback commands | mediarouter | references/mediarouter/README.md |
| I want to implement camera preview and capture with ProcessCameraProvider / Preview / ImageCapture | camerax-usecases | references/camerax-usecases/README.md |
| I want to do frame analysis and video recording with ImageAnalysis / VideoCapture | camerax-usecases | references/camerax-usecases/README.md |
| I want to use the high-level API with CameraController | camerax-usecases | references/camerax-usecases/README.md |
| I want to control zoom, focus, and exposure with CameraControl / CameraInfo | camerax-config | references/camerax-config/README.md |
| I want to use CameraX Extensions / Camera2 Interop / ConcurrentCamera | camerax-config | references/camerax-config/README.md |
For implementing a foreground service, refer to android-background-work; for general handling of notifications, refer to android-platform-core; for the save destination of captured data (MediaStore/storage), refer to android-data .