在 react-native-tvos@^0.63.4-0 上使用 react-native-video 时遇到问题

Posted

技术标签:

【中文标题】在 react-native-tvos@^0.63.4-0 上使用 react-native-video 时遇到问题【英文标题】:Having trouble using react-native-video on react-native-tvos@^0.63.4-0 【发布时间】:2021-09-11 11:39:15 【问题描述】:

错误

我们正在使用这个库为严重依赖视频流的 AndroidTV 构建一个应用程序,因此我们决定使用这个库并看看它是如何进行的。

我们只为应用程序使用 HLS (m3u8) 视频格式。

我们使用 ExoPlayer,一切似乎都很好,但是当用户开始在非品牌 AndroidBoxes 上安装应用程序时,我们收到了大量的错误报告由一个特定问题组成,“视频播放器无法正常工作”。 我们开始在多种设备上进行调试,包括 Android 手机AndroidTVsAmazon Fire Stickandroid 盒子。。 p>

我们在某些设备上同时使用 ExoPlayerMediaPlayer 进行了调试。

我们得到的结果是这样的: Android 手机ExoPlayerMediaPlayer 都运行良好。 AndroidTVExoPlayer 运行良好,但当我们尝试使用 MediaPlayer 时,视频开始不同步。 Amazon Fire StickExoPlayer 运行良好。 (没有使用 MediaPlayer 进行测试Android BoxExoPlayer 无法正常工作,问题包括我们手动将其设置为 1 时速度为 2 倍,没有声音且无法完全工作。另一方面,MediaPlayer 起初似乎可以工作,但在使用 30-40 分钟后,它会出现故障并以 2 FPS 的速度播放视频。

平台

您在哪个播放器上遇到问题:

android ExoPlayer Android 媒体播放器

环境信息

反应原生信息输出:

System:
    OS: Windows 10 10.0.18363
    CPU: (8) x64 Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz 
    Memory: 3.36 GB / 11.90 GB
  Binaries:
    Node: 14.16.0 - C:\Program Files\nodejs\node.EXE       
    Yarn: 1.22.4 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 6.14.11 - C:\Program Files\nodejs\npm.CMD
    Watchman: Not Found
  SDKs:
    Android SDK: Not Found
    Windows SDK: Not Found
  IDEs:
    Android Studio: Version  4.1.0.0 AI-201.8743.12.41.7042882
    Visual Studio: 16.5.30011.22 (Visual Studio Community 2019)
  Languages:
    Java: 1.8.0_282 - /c/Program Files/OpenJDK/openjdk-8u282-b08/bin/javac
  npmPackages:
    @react-native-community/cli: Not Found
    react: 16.13.1 => 16.13.1
    react-native: Not Found
    react-native-tvos:  0.63.4-0
    react-native-windows: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

库版本:^5.1.1

复制步骤

    运行react-native init TestApp --template=react-native-tvos。 运行npm i react-native-video。 给<Video />一个HLS类型的视频。 运行react-native run-android --variable=release并在目标平台上安装apk文件。

预期行为

在电视平台上流畅播放视频的解决方案或修复。

我在 react-native-video github here 上提出了一个关于这个问题的问题。

【问题讨论】:

【参考方案1】:

似乎我们的问题在于文件的编码,这使得 HLS 文件不稳定。 如果您想在您的应用中使用 HLS,请确保您的编码是标准的并且可以在旧设备上使用。

【讨论】:

您后来如何对视频进行编码以解决此问题?你能分享一些信息吗?

以上是关于在 react-native-tvos@^0.63.4-0 上使用 react-native-video 时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

React Native v-0.63 中的 WebView v-11.2.3 组件未加载其内容(使用 expo cli)

React Native 升级版本从 0.61.5+ TypeError 到 0.63:

有啥办法可以防止 React Native IOS 0.63 版中的截图?

由于 bugsnag,React Native 0.63 构建失败

代码更改后 React Native 0.63 不更新 main.jsbundle

AT4REPatcher 0.63汉化版本 和 108个皮肤(完全自制)