如何使用 react-native-camera 录制视频
Posted
技术标签:
【中文标题】如何使用 react-native-camera 录制视频【英文标题】:How to record a video with the react-native-camera 【发布时间】:2016-07-17 23:25:59 【问题描述】:所以我正在做一个项目,该项目使用来自 https://github.com/lwansbrough/react-native-camera 的 react-native 摄像机并让它工作。该组件将拍摄视频,数据将在 Xcode 的控制台中打印。不幸的是,我在我的计算机上丢失了这个文件和其他几个文件,并且正在从头开始重新启动应用程序。我一直在尝试重新创建具有视频录制功能的相机,但无法使其正常工作。有谁知道我做错了什么,因为我似乎无法弄清楚。当我将 captureMode 更改为相机时,数据将打印出来,但视频不会发生任何事情。这是我的组件:
let startVideo = false;
class VideoCamera extends Component
constructor()
super()
this.state =
captureMode: Camera.constants.CaptureMode.video,
render()
return (
<Camera
captureMode=this.state.captureMode
ref="camera"
style=styles.container
>
<TouchableHighlight
onPressIn=this._startRecord.bind(this)
onPressOut=this._endVideo.bind(this)
>
<Icon
name='video-camera'
size=40
style=styles.recordButton
/>
</TouchableHighlight>
</Camera>
)
_startRecord()
startVideo = setTimeout(this._recordVideo.bind(this), 50)
_recordVideo()
this.refs.camera.capture()
.then((data) => console.log(data))
.catch((err) => console.log(err))
_endVideo()
this.refs.camera.stopCapture()
【问题讨论】:
***.com/questions/37960958/… 帮助 -- ***.com/questions/48280005/… 【参考方案1】:在您的_recordVideo
方法中,您将一个空对象传递给camera.capture
,而不是您应该传递一个指定捕获模式的对象。试试这个版本的_recordVideo
:
_recordVideo()
this.refs.camera.capture(mode: Camera.constants.CaptureMode.video)
.then((data) => console.log(data))
.catch((err) => console.log(err))
【讨论】:
正在录制视频但没有声音。你知道怎么发声吗?【参考方案2】:其实现在变了,你只需要使用recordAsync()
函数就可以开始录制了。
和stopRecording()
停止录制。
recordAsync()
返回应用缓存的文件 uri(.mp4 格式),您可以在应用中重复使用该文件。享受
【讨论】:
【参考方案3】:recordOptions: mute: false
设置此项以获取音频并在 android 和 ios 中请求音频权限。
【讨论】:
以上是关于如何使用 react-native-camera 录制视频的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 react-native-camera 人脸检测器检测人脸?
使用 react-native-camera,如何访问保存的图片?
如何将捕获的图像与 react-native-camera 一起使用