as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持

添加媒体播放功能的先决条件

添加媒体播放功能的先决条件

本主题概述了将W3C媒体播放器整合到适用于Vega的React Native应用中所需的核心项目设置和更新。要开始使用,您必须创建一个Vega应用。有关创建Vega应用的详细说明,请参阅构建您的应用

添加依赖项

更新应用中的package.json文件:

  1. 在依赖项部分中,添加以下条目:

已复制到剪贴板。

  "@amazon-devices/react-native-w3cmedia": "~2.1.80"

这增加了对通过@amazon-devices/react-native-w3cmedia程序包提供的W3C媒体API的依赖项。

~2.1.80版本说明符允许在保持兼容性的同时自动更新补丁版本(例如2.1.81、2.1.82)。

  1. 打开终端窗口并导航到您的应用文件夹。运行npm以将程序包安装到您的应用中。

已复制到剪贴板。

    npm install  

配置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日