在React Native中播放Amazon S3 cloudefront视频

时间:2019-01-15 09:36:03

标签: react-native

1 个答案:

答案 0 :(得分:0)

您可以使用react-native-video

我参与了为列表提供视频签名URL的项目。这些网址可以使用此pacakge流式传输/播放。

唯一需要注意的是,您需要 生成签名的S3网址 ,这样视频才能轻松播放。一种检查方法是,您可以直接将签名的URL复制粘贴到浏览器中,并且应该立即流式传输。

PS:我也怀疑使用react-native-video可能无法播放s3 url,但是事实证明,只要提供signedUrl视频就可以。您可以使用onError调试问题。 (确保在RNApp上进行欧盟测试之前,请确保网址是从Chrome播放的)

示例代码

// Load the module

import Video from 'react-native-video';



<Video source={{uri: "s3 signed url"}}   // Can be a URL or a local file.
       ref={(ref) => {
         this.player = ref
       }}                                      // Store reference
       onBuffer={this.onBuffer}                // Callback when remote video is buffering
       onError={this.videoError}               // Callback when video cannot be loaded
       style={styles.backgroundVideo} />

// Later on in your styles..
var styles = StyleSheet.create({
  backgroundVideo: {
    position: 'absolute',
    top: 0,
    left: 0,
    bottom: 0,
    right: 0,
  },
});