【发布时间】:2020-07-14 07:08:15
【问题描述】:
我正在开发一个应用程序,其中一个过程是拍摄视频,然后上传。我使用react-native-video 在用户完成录制后显示预览,react-native-camera 用于捕获过程。我还使用react-navigation 在屏幕之间移动。
目前我可以进入预览屏幕并从 Redux 设置视频组件的源 uri。但是,没有球员可以看到。 uri 的格式为“file:///path/video.mp4”,因此显然它应该按预期位于应用程序缓存中。
首先向用户展示一个摄像头,他/她可以在其中捕捉视频。
const recordVideo = async () => {
if (camera) {
const data = await camera.current.recordAsync()
if (data) {
dispatch(saveVideo(data)) <-- CONTAINS THE URI
navigation.navigate(CONFIRM)
}
}
当调用 stopRecording() 时,promise 显然会解析并且视频的 URI 将被分派给 Redux。然后我们导航到“确认屏幕”,用户可以在其中预览视频并选择是拍摄另一个还是继续拍摄。
我的问题是,我根本无法播放该预览视频。我想我现在已经在我的能力范围内尝试了几乎所有的东西,我真的厌倦了一些看似简单却很难做到的事情。 出于某种奇怪的原因,我让视频播放了几次,所以这不是播放器的错。我所取得的成就最多只是显示一次预览,但当你回去拍摄时另一个,没有视频预览了。此外,“确认”屏幕正常加载照片(以相同的方式拍摄:相机 -> 确认),但是当轮到视频时,它就不起作用了。视频组件的 onError 处理程序也给了我这个:{"error": {"extra": -2147483648, "what": 1}} 这似乎只是胡言乱语。
PS。是的,我已经阅读了这里的所有相关帖子,但没有找到合适的解决方案。
【问题讨论】:
标签: android react-native react-navigation react-native-camera react-native-video