入门指南
-
安装插件
Terminal window npm i @capgo/capacitor-mux-playerTerminal window pnpm add @capgo/capacitor-mux-playerTerminal window yarn add @capgo/capacitor-mux-playerTerminal window bun add @capgo/capacitor-mux-player -
同步原生项目
Terminal window npx cap syncTerminal window pnpm cap syncTerminal window yarn cap syncTerminal window bunx cap sync
iOS 准备
Section titled “iOS 准备”- 在
ios/App/下打开 Xcode 工作区。 - 将 Swift 包
https://github.com/muxinc/mux-player-swift添加到应用目标,以便MuxPlayerSwift模块可用。 - 确保部署目标为 iOS 15+ 并重新构建。
Android 准备
Section titled “Android 准备”Gradle 模块附带正确的存储库和依赖项。如果您使用自定义企业代理,请允许请求 https://muxinc.jfrog.io/artifactory/default-maven-release-local。
import { MuxPlayer } from '@capgo/capacitor-mux-player';
await MuxPlayer.play({ playbackId: 'your-playback-id', environmentKey: 'your-mux-data-key', title: 'Launch Announcement', subtitle: 'Filmed live at Capgo HQ', poster: 'https://stream.example.com/poster.jpg',});监听播放器事件
Section titled “监听播放器事件”const readyHandle = await MuxPlayer.addListener('ready', ({ playerName }) => { console.log('Mux player ready', playerName);});
const errorHandle = await MuxPlayer.addListener('error', ({ message }) => { console.error('Mux player error:', message);});
// 关闭播放器后清理const dismissPlayer = async () => { await MuxPlayer.dismiss(); await readyHandle.remove(); await errorHandle.remove();};基于令牌的播放
Section titled “基于令牌的播放”await MuxPlayer.play({ playbackId: 'signed-playback-id', playbackToken: signedPlaybackToken, drmToken: signedDrmToken, // 如果启用了 DRM 策略,则为可选 autoPlay: true, startTime: 120, // 从 2 分钟开始});响应播放器生命周期
Section titled “响应播放器生命周期”const { active } = await MuxPlayer.isActive();if (active) { console.log('Player currently visible');}
// 卸载时删除所有监听器注册await MuxPlayer.removeAllListeners();- 使用 Mux 签名密钥在后端生成已签名的播放和 DRM 令牌。
- 传递
playerName以在应用中运行多个播放器时分离分析。 - 与
enableSmartCache结合使用,以提高支持平台上的离线弹性。