【问题标题】:React native, video player crash without any error反应原生,视频播放器崩溃没有任何错误
【发布时间】:2021-11-30 22:51:27
【问题描述】:

我正在使用expo-av 在我的应用中播放视频。它在每个屏幕上都运行良好。但是当我点击播放按钮时,它会崩溃 2-3 个屏幕并且它没有给出任何错误。

下面是我的代码

import {Video as VideoPlayer} from "expo-av";

....

const videoRef = useRef(null)

....

 <VideoPlayer
        ref={videoRef}
        style={{
          width: '100%',
          height: 120,
          marginTop: moderateScaleVertical(15),
        }}
        source={{
          uri: 'https://superstudent-assets.s3.ap-south-1.amazonaws.com/video_original_1624939508019.mp4',
        }}
        useNativeControls
        resizeMode="contain"
        // onPlaybackStatusUpdate={status => setStatus(() => status)}
      />

这就是代码,我对每个屏幕都使用了相同的代码,但它在 2-3 个屏幕上崩溃了。有人知道为什么吗?

【问题讨论】:

  • 你使用的是FlatList里面的播放器吗?我正在阅读有关 FlatList 引起一些问题的情况。此外,一旦我遇到同样的问题(不使用 FlatList)并通过设置opacity: 0.99 解决了这个问题。我知道,这很疯狂,但它对我有用。
  • 我应该在哪里设置不透明度,它在 flatlist 和 flatlist 之外都崩溃了
  • 我刚刚检查了我的旧代码,实际上我在使用名为react-native-youtube-iframe 的包时遇到了问题,所以我猜这个不透明技巧不适用于expo-av。但无论如何,我是通过 &lt;YoutubePlayer/&gt; 上的 webViewStyle={{opacity: 0.99}} 属性设置不透明度的。当您遇到此类问题时,如果您确定您正在关注包的文档并且它无法正常工作,请创建一个新项目并对包进行最少的设置。如果你仍然有同样的问题,这意味着包本身包含某种错误,这不是你使用该包的方式。

标签: reactjs react-native expo-av


【解决方案1】:

有一个依赖项,您必须在 Android 上的 ./android/app/build.gradle 开头添加以下内容(react-native-vector-icons 工作所需):它对我有用

【讨论】:

    猜你喜欢
    • 2019-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-30
    • 1970-01-01
    相关资源
    最近更新 更多