编写 关于一个相机小程序 可以拍照和录像的 简单的微信小程序代码
时间: 2023-07-09 14:15:52 浏览: 183
好的,以下是一个简单的微信小程序代码,实现了相机拍照和录像的基本功能。
1. 在小程序的 JSON 配置文件中,添加相机组件和按钮组件。
```json
{
"usingComponents": {
"camera": "/components/camera/camera"
},
"navigationBarTitleText": "相机"
}
```
```html
<view class="container">
<camera id="camera" device-position="{{cameraPosition}}" flash="{{flash}}" bindinitdone="onCameraInitDone"></camera>
<button class="btn" type="primary" bindtap="takePhoto">拍照</button>
<button class="btn" type="default" bindtap="recordVideo">{{recording ? '停止' : '录像'}}</button>
</view>
```
2. 在小程序的 JS 代码文件中,定义相关的变量和方法。
```js
Page({
data: {
cameraPosition: 'back', // 相机的位置,默认为后置摄像头
flash: 'off', // 闪光灯的状态,默认为关闭
recording: false // 是否正在录像
},
onCameraInitDone: function () {
this.ctx = wx.createCameraContext(); // 创建相机上下文对象
},
takePhoto: function () {
this.ctx.takePhoto({
quality: 'high',
success: (res) => {
wx.saveImageToPhotosAlbum({
filePath: res.tempImagePath,
success: () => {
wx.showToast({
title: '保存成功'
});
},
fail: () => {
wx.showToast({
title: '保存失败'
});
}
});
},
fail: (e) => {
wx.showToast({
title: '拍照失败'
});
}
});
},
recordVideo: function () {
if (this.data.recording) {
this.ctx.stopRecord({
success: (res) => {
wx.saveVideoToPhotosAlbum({
filePath: res.tempVideoPath,
success: () => {
wx.showToast({
title: '保存成功'
});
},
fail: () => {
wx.showToast({
title: '保存失败'
});
}
});
},
fail: (e) => {
wx.showToast({
title: '停止录像失败'
});
}
});
this.setData({ recording: false });
} else {
this.ctx.startRecord({
success: () => {
this.setData({ recording: true });
},
fail: (e) => {
wx.showToast({
title: '开始录像失败'
});
}
});
}
}
});
```
3. 在小程序的 CSS 样式文件中,定义相关的样式。
```css
.container {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
height: 100vh;
background-color: #f2f2f2;
}
.btn {
margin-top: 20px;
width: 150px;
height: 50px;
border-radius: 25px;
}
```
以上就是一个简单的微信小程序代码,实现了相机拍照和录像的基本功能。请注意,该代码只是一个基本的示例,具体的实现方式还需要根据实际情况进行调整和完善。
阅读全文