MediaPlayerState

MediaPlayerState创建一个内部控制视频状态的实例.可以在媒体组件和控制组件之间共享。最简单的工作流程是创建一个MediaPlayerState,并将其与组件挂钩:

class VideoPlayer extends React.Component {

constructor(props) {

  super(props);

  this.state = {

    playerState: new MediaPlayerState({autoPlay: true, muted: true}), // init with muted, autoPlay

  };

}

render() {

  return (

    <View>

      <Video

        style={{height: 2.25, width: 4}}

        source={{uri: 'assets/1.webm'}}

        playerState={this.state.playerState} />

      

        style={{height: 0.2, width: 4}}

        playerState={this.state.playerState} />

      </View>

    );

  }

}

要控制视频播放,可以直接在playerState上调用函数。

this.state.playerState.play();

this.state.playerState.pause();

this.state.playerState.setMuted(false);

方法

 constructor(options)

创建一个新的媒体播放状态

@param options (optional) 配置初始状态

  • autoPlay {boolean}: 媒体是否自动播放,默认为false
  • muted {boolean}:媒体是否静音,默认是false
  • volume {number}:媒体的音量,在0-1之间取值,默认是1.0

 play()

开始或恢复播放。

 pause()

暂停播放。

 seekTo(timeSec)

设置视频的位置 @param timeSec - 视频设置时间。

 registerUserGesture(commandID, commandArgs, reactTag)

注册在一个组件上的用户手势的视频上调用命令 @param commandID - 命令id. @param commandArgs - 命令参数. @param reactTag - 监听用户手势的组件标识。

 unregisterUserGesture(reactTag)

取消注册在一个组件上的用户手势的视频上调用命令 @param reactTag - 监听用户手势的组件标识。

 setVolume(value)

设置媒体音量 (0.0 ~ 1.0)。默认值为 1.0

 setMuted(value)

是否设置静音, 默认值为 false.

 onDurationChange(event)

 onTimeUpdate(event)

 onPlayStatusChange(event)