react-native - 如何在本机反应中从相机按钮切换到视频录制按钮
问题描述
我在同一个容器上有相机捕捉按钮和视频录制按钮,我希望在启动应用程序时能够拥有相机按钮,然后当我点击文本“视频”时,它将切换到视频按钮进行录制。我有一个 beautyplus 应用程序的屏幕截图作为我的意思 相机按钮导航的示例
return (
<View style={styles.action}>
<View style={{ flexDirection: 'row', justifyContent: 'space-between', paddingHorizontal: 20, marginBottom: 15, alignItems: 'flex-end' }}>
<TouchableOpacity onPress={this.toggleTorch.bind(this)}>
{ this.state.flashon == RNCamera.Constants.FlashMode.off? (
<Icon
name="md-flash-off"
color="black"
size={30}
/>
) : (
<Icon
name="md-flash"
color="black"
size={30}
/>
)
}
</TouchableOpacity>
<View style={{ alignItems: 'center' }}>
<TouchableOpacity onPress={this.takePicture} style={styles.captureBtn} />
</View>
<View style={{ alignItems: 'center' }}>
<TouchableOpacity onPress={this.recordVideo} style={styles.captureVideoBtn}>
{
this.state.recording ?
(<Text>{this.secondsToMMSS(this.state.seconds)}</Text>) :
(null)
}
</TouchableOpacity>
</View>
<TouchableOpacity
onPress={this.reverseCamera}
>
<Icon
name="md-reverse-camera"
color="black"
size={30}
/>
</TouchableOpacity>
</View>
</View>
)
}
}
</RNCamera>
</View>
);
};
}
解决方案
条件检查有什么问题?
constructor() {
...
this.state = {capture:'photo'}; // default to photo
}
captureVideo=()=> {...}
capturePhoto=()=> {...}
captureAudio=()=>{...}
capture() {
swicth (this.state.capture)
case 'audio' : captureAudio()
...
}
render () {
...
<TouchableOpacity onPress={()=>this.setState({capture:'video'})}>
<Text>Video</Text></TouchableOpacity>
<TouchableOpacity onPress={()=>this.startCapture()}><Text>Start</Text>
</TouchableOpacity>
<TouchableOpacity onPress={()=>this.setState({capture:'photo'})}>
<Text>Video</Text></TouchableOpacity>
...
}
推荐阅读
- linux - 为什么等待为空时只有 __add_wait_queue(q, wait) ?
- python - 如何使用 python 3.75 从子包到顶级文件夹工作目录的相对导入?
- octobercms - Pikaday 没有为其他 OctoberCMS 管理员加载
- angular - 我只是在运行“npm install -g @angular/cli”,我得到了这个错误
- python - 如何在 python 中打开“文件”类型的文件?
- sql - 如何在Oracle中进行连续删除语句
- java - 使用 Apache Ozone FileSystem API 会导致错误
- adsense - Kaspersky Anti-Banner System is blocking AdSense in my website
- python - Error in Sckit learn code: " digits: Bunch Instance of 'tuple' has no 'target' memberpylint(no-member) " .How to fix?
- dart - 如何在不同持续时间的颤动中生成定时器?