私は反応ネイティブカメラのビデオ機能を動作させようとしていましたが、膨大な数のメソッドを試しましたが、同じエラーが発生し続けました。ここに私のコードです:反応ネイティブカメラのビデオ機能にアクセスするにはどうすればよいですか?
class MainCamera extends Component {
constructor() {
super();
this.render = this.render.bind(this)
this.state = { cameraType: Camera.constants.Type.back }
}
render() {
return (
<View style={styles.container}>
<Camera
ref='camera'
style={styles.preview}
aspect={Camera.constants.Aspect.fill}
type={this.state.cameraType}
captureMode={Camera.constants.CaptureMode.video}
captureAudio={false}
target={Camera.constants.CaptureTarget.disk}>
<TouchableHighlight
onPressIn={this.onPressIn.bind(this)}
onPressOut={this.stopVideo.bind(this)}>
<Icon name="video-camera" size={40} />
</TouchableHighlight>
</Camera>
</View>
);
}
onPressIn() {
recordVideo = setTimeout(this.takeVideo.bind(this), 100);
}
takeVideo() {
this.refs.camera.capture({
target: Camera.constants.CaptureTarget.disk
})
.then(data => {
console.log(data);
})
.catch(err => console.log(err));
}
stopVideo() {
this.refs.camera.stopCapture({})
.then(data => console.log(data))
.catch(err => console.log(err));
}
}
私はstopCapture()メソッドに「.then」約束を使用する場合、私は 『『し、』未定義のプロパティを読み取ることができません』エラーが表示されるが、私は追加しない場合'.then'、何も起こらず、私はデータを受け取っていません。誰か提案はありますか?
これでビデオがすぐに撮れます。しかし、私が知っていた唯一の方法は、ターゲットを 'Camera.constants.CaptureTarget.cameraRoll'に変更してからカメラのロールを確認してビデオを確認することでした。私の問題は、ビデオファイルを自分の携帯電話に保存するのではなく、アプリ内でそのビデオデータを使って何か他のことをやりたいから、console.logにデータがないことです。 – hermt2
Nevermind、何らかの理由でXcodeのコンソールにのみ表示され、Google Chromeデバッグツールには表示されません。それでも、私はデータを取得しています。ありがとうございました。 – hermt2
私は残念ながらこのファイルを紛失し、プロジェクトを最初からやり直しています。私はそれを覚えている限り正確にすべてを持っていますが、データはまだ印刷されません。あなたがまだ助けてくれるなら、それはすばらしいことでしょう。おそらくそれを見てみることができるなら、私は下に新しいコンポーネントを投稿します。このコメントボックスに投稿するのに十分なスペースがありません。 – hermt2