as

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

W3C媒体与Vega媒体控制集成

W3C媒体与Vega媒体控制集成

Vega媒体控制 (VMC) 所提供的功能可让Vega上的媒体应用开发者为媒体控制简化各种输入模式的集成。虽然媒体应用通常具有应用内用户界面控件,例如播放、暂停和停止,但客户通常需要额外的交互方式,例如使用遥控器或通过Alexa等服务使用语音命令。Vega媒体控制功能可处理这些不同的输入方法的集成,让开发者能够专注于流畅媒体播放的核心业务逻辑。

使用W3C媒体API播放其内容的应用现在可以免费获得VMC集成,用于基本的播放控制,例如暂停、播放和搜索。W3C媒体API在内部创建VMC服务器,发布服务器状态,并处理播放、暂停和搜索等基本命令。

要选择加入此集成,请执行以下操作:

  1. 启用VMC。按照开始使用Vega媒体控制概述中所述,将必要的清单条目添加到manifest.toml文件中。
  2. 更新您的package.json文件,以在@amazon-devices/kepler-media-controls上获取依赖项。
  3. 获取交互式组件的组件实例:

    已复制到剪贴板。

     import { useComponentInstance , IComponentInstance } from '@amazon-devices/react-native-kepler';
    
     const componentInstance: IComponentInstance = useComponentInstance();
    
  4. 在初始化视频播放器之前,将媒体控制焦点设置在播放器实例上。

    已复制到剪贴板。

    player.setMediaControlFocus(componentInstance);

现在,该播放器实例将通过VMC启用,并将支持暂停/播放和搜索遥控以及Alexa语音控制等基本功能。

覆盖某些控制命令

在某些情况下,应用可能希望覆盖默认由W3C媒体处理的某些控制命令的处理。例如,在直播内容播放期间禁用搜索。W3C媒体也提供了实现这点的方法。

  1. 扩展W3C媒体提供的VegaMediaControlHandler并覆盖应用想要覆盖的函数。

    已复制到剪贴板。

     import {VegaMediaControlHandler} from "@amazon-devices/react-native-w3cmedia";
     import {IMediaSessionId } from '@amazon-devices/kepler-media-controls';
    
     class AppOverrideMediaControlHandler extends VegaMediaControlHandler {
         async handlePlay(mediaSessionId?: IMediaSessionId) {
             if(shouldOverride) {
                 // 根据应用的要求进行自定义处理
             } else {
                 // 调用默认处理程序
                 super.handlePlay(mediaSessionId);
             }
         }
     };
    
  2. 将应用的媒体控制处理程序作为第二个参数传递给setMediaControlFocus方法。

    已复制到剪贴板。

     player.setMediaControlFocus(componentInstance, new AppOverrideMediaControlHandler());
    

Last updated: 2025年9月30日