如何使用 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 

设置此项以获取音频并在 androidios 中请求音频权限。

【讨论】:

以上是关于如何使用 react-native-camera 录制视频的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 react-native-camera 录制视频

如何使用 react-native-camera 人脸检测器检测人脸?

使用 react-native-camera,如何访问保存的图片?

如何将捕获的图像与 react-native-camera 一起使用

如何使用 react-native-camera 从相机胶卷 url 显示图像?

如何使用带有 react-native-camera 的默认 iOS 相机控件