如何确定视频是否刚刚使用 expo.video 完成?ReactNative/Expo.io

nar*_*han 5 javascript react-native expo

例如,如果我有组件:

import React, { Component } from 'react';
import { Video } from 'expo';
let styles = require('../stylesheet.js');
export default class Player extends Component {
  render(){
    return(
     <Video
      ref={this._handleVideoRef}
      source={require(//file)}
      rate={1.0}
      volume={1.0}
      muted={false}
      useNativeControls
      resizeMode="cover"
      shouldPlay
      style={styles.player} />
      )
  }
}
Run Code Online (Sandbox Code Playgroud)

我在文档(https://docs.expo.io/versions/latest/sdk/av.html)中看到使用“playbackstatus.didJustFinish”和 onPlaybackStatusUpdate 但他们的例子对我来说没有多大意义。谁能告诉我如何使用我的代码确定视频是否已结束?

mau*_*iii 8

如果其他人来寻找答案,以下是 OP 和 docs 的组合(https://docs.expo.io/versions/latest/sdk/av.html):

import React, { Component } from 'react';
import { Video } from 'expo';

export default class Player extends Component {
  _onPlaybackStatusUpdate = playbackStatus => {
    if (playbackStatus.didJustFinish)
      // The player has just finished playing and will stop.
  };

  render(){
    return(
      <Video
        ref={this._handleVideoRef}
        source={require(//file)}
        onPlaybackStatusUpdate=
          {(playbackStatus) => this._onPlaybackStatusUpdate(playbackStatus)}/>
        resizeMode="cover"
        style={styles.player}
    );
  }
}
Run Code Online (Sandbox Code Playgroud)