所以我正在做一个项目,它使用了来自https://github.com/lwansbrough/react-native-camera的react原生摄像机,并使其正常工作。该组件将获取视频,并在Xcode的控制台中打印数据。不幸的是,我在电脑上丢失了这个文件和其他几个文件,正在从头开始重新启动应用程序。我一直在尝试重新创建具有视频录制功能的相机,但无法使其工作。有没有人知道我做错了什么,因为我似乎搞不清楚。当我将captureMode更改为camera时,数据将打印出来,但对视频不会发生任何变化。下面是我的组件:
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()
}
}发布于 2017-01-01 12:47:26
在您的_recordVideo方法中,您将向camera.capture传递一个空对象,而应该传递一个指定捕获模式的对象。试用此版本的_recordVideo
_recordVideo() {
this.refs.camera.capture({mode: Camera.constants.CaptureMode.video})
.then((data) => console.log(data))
.catch((err) => console.log(err))
}发布于 2020-07-20 18:18:18
实际上,现在它改变了,你只需要使用recordAsync()函数就可以开始录制了。
和stopRecording()来停止录制。
recordAsync()将返回应用程序缓存文件uri (.mp4格式),您可以将其重用于您的应用程序。尽情享受
发布于 2020-09-25 17:52:56
recordOptions: {mute: false }设置这个来获取音频,同时在android和ios中请求音频权限。
https://stackoverflow.com/questions/38426880
复制相似问题