媒体播放器设置
本主题概述了将W3C媒体播放器整合到适用于Vega的React Native应用中所需的核心项目设置和更新。要开始使用,您必须创建一个Vega应用。有关创建Vega应用的详细说明,请参阅构建您的应用。
添加依赖项
更新应用中的package.json文件:
- 在依赖项部分中,添加以下条目:
"@amazon-devices/react-native-w3cmedia": "~2.1.80"
这增加了对通过@amazon-devices/react-native-w3cmedia程序包提供的W3C媒体API的依赖项。
~2.1.80版本说明符允许在保持兼容性的同时自动更新补丁版本(例如2.1.81、2.1.82)。
- 打开终端窗口并导航到您的应用文件夹。运行npm以将程序包安装到您的应用中。
npm install
@amazon-devices/react-native-w3cmedia程序包版本。这将确保您获得最新的改进。请注意,如果不需要立即更新应用逻辑,则可以继续使用旧版本。任何重大更改都将涉及“次要”版本更新。
配置Babel
为确保您的应用与W3C媒体播放器集成兼容,请更新您的babel.config.js文件。否则,您的应用可能会在运行时遇到“ReferenceError: Property 'React' doesn't exist exception at runtime.”(参考错误:属性“React”不存在)的异常。
使用以下更改更新babel.config.js文件。
module.exports = {
presets: [ ['module:metro-react-native-babel-preset', { useTransformReactJSXExperimental: true }] ],
plugins: [
[
'@babel/plugin-transform-react-jsx',
{
runtime: 'automatic',
},
],
]
};
添加权限
您必须向应用的manifest.toml文件添加必要的权限。这将确保应用具有使用W3C媒体播放器功能所需的权限:
- 媒体指标服务: 支持播放分析和监控
- 媒体服务器: 提供核心媒体播放功能
- 播放器会话服务: 管理媒体播放会话
- 无障碍功能权限: 隐藏式字幕和字幕的必需项
- 音频服务: 处理音频流媒体、控制和系统声音
在manifest.toml文件中,在 [wants] 部分下添加以下内容。
[wants]
[[wants.service]]
id = "com.amazon.mediametrics.service" # 对于指标服务为必需
[[wants.service]]
id = "com.amazon.media.server"
[[wants.service]]
id = "com.amazon.gipc.uuid.*"
[[wants.service]]
id = "com.amazon.media.playersession.service"
[[wants.privilege]]
id = "com.amazon.devconf.privilege.accessibility" # 对于隐藏式字幕必需
[[wants.service]]
id = "com.amazon.mediabuffer.service"
[[wants.service]]
id = "com.amazon.mediatransform.service"
[[wants.service]]
id = "com.amazon.audio.stream"
[[wants.service]]
id = "com.amazon.audio.control"
[offers]
[[offers.service]]
id = "com.amazon.gipc.uuid.*"
这为应用授予了媒体播放所需的权限。
要启用系统声音(例如systemd使用的声音)的播放,您需要将以下音频管理服务名称添加到应用的manifest.toml文件中。
[[wants.service]]
id = "com.amazon.audio.system"
后续步骤
了解您的特定用例要求后,请参阅选择播放模式。
相关主题
Last updated: 2026年1月13日

