はじめに
このプラグインのインストール手順と完全なMarkdownガイドを含むセットアッププロンプトをコピー
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-media-session`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/media-session/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
インストール
「Install」セクションAIアシストセットアップを使ってプラグインをインストールできます。以下のコマンドで、お使いのAIツールに Capgo スキルを追加してください:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins次に、以下のプロンプトを使用します:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-media-session` plugin in my project.手動セットアップを希望する場合は、以下のコマンドでプラグインをインストールし、下記のプラットフォーム別の手順に従ってください:
bun add @capgo/capacitor-media-sessionbunx cap syncインポート
「Import」セクションimport { MediaSession } from '@capgo/capacitor-media-session';クイックスタート
「Quick start」セクションプレイヤーの起動時にメタデータと再生状態を公開します。
import { MediaSession } from '@capgo/capacitor-media-session';
await MediaSession.setMetadata({ title: 'Episode 12', artist: 'Capgo Podcast', album: 'Ship faster', artwork: [{ src: 'https://cdn.example.com/artwork.png', sizes: '512x512', type: 'image/png' }],});
await MediaSession.setPlaybackState({ playbackState: 'playing' });
await MediaSession.setPositionState({ duration: 3600, position: 120, playbackRate: 1,});例:ロック画面のコントロールを制御する
「例:ロック画面のコントロールを制御する」というセクションawait MediaSession.setActionHandler({ action: 'play' }, () => { audio.play();});
await MediaSession.setActionHandler({ action: 'pause' }, () => { audio.pause();});
await MediaSession.setActionHandler({ action: 'seekto' }, (details) => { if (details.seekTime != null) { audio.currentTime = details.seekTime; }});渡す null をハンドラーとして指定し、アクションを登録解除します。
例:バッファリング中のポーズ状態
「例:バッファリング中のポーズ状態」セクションawait MediaSession.setPlaybackState({ playbackState: 'paused' });// resume with 'playing' when your buffer is readyよくある落とし穴
「Common pitfalls」セクション- 再生位置を最新に保つ:呼び出す
setPositionState再生が進んだりシークしたりする際に、Androidでは挙動が不自然に感じられます。 - アートワークのURL: デバイスからアクセス可能なHTTPSアセットを使用してください。画像サイズが大きいとロック画面の更新が遅くなります。
- ハンドラーの生存期間: ハンドラーはトラックが変わるたびではなく、プレイヤーのセットアップ時に一度だけ登録してください。
API の概要
「API 概要」セクションsetMetadata
「setMetadata」セクション現在再生中のメディアのメタデータを設定します。
import { MediaSession } from '@capgo/capacitor-media-session';
await MediaSession.setMetadata({ album: 'album' });setPlaybackState
「setPlaybackState」セクションメディアセッションの再生状態を更新します。
import { MediaSession } from '@capgo/capacitor-media-session';
await MediaSession.setPlaybackState({ playbackState: 'none' });setActionHandler
「setActionHandler」セクションメディアセッションのアクションに対するハンドラーを登録します。
import { MediaSession } from '@capgo/capacitor-media-session';
await MediaSession.setActionHandler({ action: 'play' }, (details) => { console.log(details);});setPositionState
「setPositionState」セクションアクティブなメディアセッションの位置状態を更新します。
import { MediaSession } from '@capgo/capacitor-media-session';
await MediaSession.setPositionState({ duration: 1000, playbackRate: 1, position: 10,});型リファレンス
「型リファレンス」セクションMetadataOptions
「MetadataOptions」セクションexport interface MetadataOptions { album?: string; artist?: string; artwork?: MediaImage[]; title?: string;}PlaybackStateOptions
「PlaybackStateOptions」セクションexport interface PlaybackStateOptions { playbackState: MediaSessionPlaybackState;}ActionHandlerOptions
「ActionHandlerOptions」セクションexport interface ActionHandlerOptions { action: MediaSessionAction;}ActionHandler
「ActionHandler」セクションexport type ActionHandler = (details: ActionDetails) => void;PositionStateOptions
「PositionStateOptions」セクションexport interface PositionStateOptions { duration?: number; playbackRate?: number; position?: number;}MediaImage
「MediaImage」セクションexport interface MediaImage { src: string; sizes?: string; type?: string;}MediaSessionPlaybackState
「MediaSessionPlaybackState」セクションexport type MediaSessionPlaybackState = 'none' | 'paused' | 'playing';MediaSessionAction
「MediaSessionAction」セクションexport type MediaSessionAction = | 'play' | 'pause' | 'seekbackward' | 'seekforward' | 'previoustrack' | 'nexttrack' | 'seekto' | 'stop';信頼できる情報源
「信頼できる情報源」セクションこのページはプラグインの src/definitions.tsから生成されています。上流で公開 API が変更されたら、sync を再実行してください。
Getting Started から続ける
「Getting Started からの続き」セクション以下を使用している場合: はじめに ダッシュボードと API の操作を計画するには、以下と連携してください @capgo/capacitor-media-session の使用方法 @capgo/capacitor-media-session でネイティブ機能を使用する場合、 API の概要 API Overview の実装の詳細については、 はじめに Introduction の実装の詳細については、 API キー API Keys の実装の詳細については、 デバイス Devices の実装の詳細については。