仅当用户看到完整的视频组件时,如何才能以本机播放视频?

时间:2019-02-25 11:10:49

标签: reactjs react-native react-native-video

我正在使用react-native-video-player在我的应用中播放视频。我有一个渲染子组件的屏幕,在每个子组件中都嵌入了一个视频播放器。我的问题是,仅当用户看到嵌入视频的整个组件时,才如何播放视频?否则,一个人进入屏幕时会听到10个视频同时播放。

<FlatList
    data={this.state.data}
    style={{ marginTop: 10 }}
    renderItem={({ item }) => (
      <DiscoveryPanel
        {...item}
        componentId={this.props.componentId}
        connectionType={this.state.connectionType}
        followAction={() => this.followAction(item)}
      />
    )}
    keyExtractor={item => item.eid}
  />;


const DiscoveryPanel = ({ relevant }) => {
  return (
    <View style={styles.boxShadow}>
      <View style={styles.topContainer}>
        <VideoPlayer
          thumbnail={{ uri: logo }}
          video={{
            uri: stream_urls["480p30"]
              ? stream_urls["480p30"]
              : stream_urls["chunked"]
          }}
          muted={false}
          pauseOnPress={true}
          autoplay={connectionType == "wifi"}
        />
        <Image
          style={{ position: "absolute", height: 60, width: 60 }}
          source={require("../../../assets/images/record_gif.gif")}
        />
      </View>
    </View>
  );
};

1 个答案:

答案 0 :(得分:0)

我认为有一个window属性可以告诉您当前的高度。只需在滚动事件中使用该数字