小程序学习之媒体API(五)相机管理

使用wx.createCameraContext(this)创建并返回camera上下文对象cameraContext,该对象将与页面中的<camera>组件绑定,通过它可以操作对应的<camera>组件,其语法格式如下:

const ctx = wx.createCameraContext()

ps:一个页面只能有一个<camera>组件,在自定义组件下,参数传入组件实例this,以操作组件内的<camera>组件

cameraContext对象的方法如下:

takePhoto()的参数如下:

startRecord()参数如下:

stopRecord()的参数如下:

相机管理的简单应用示例:

<!--wxml-->
<view class="title">第6章 媒体API</view>
<view class="demo-box">
 <view class="title">录像功能应用</view>
 <camera device-position="back" flash="off" style="width:100%;height:300px;"></camera>
 <button wx:if='{{isRecording}}' type="primary" size="mini" bindtap="stopRecord">结束录像</button>
 <button wx:else type="primary" size="mini" bindtap="startRecord">开始录像</button>
 <video hidden="{{isHidden}}" src="{{src}}" controls></video>
</view>

//js
// pages/camera/camera.js
Page({
  data:{
    isRecording:false,
    isHidden:true
  },
  //开始录像
  startRecord:function(){
   var that = this
   this.setData({
     isRecording:true,
     isHidden:true
   })
   this.ctx.startRecord({
     //超时自动结束
     timeoutCallback(res){
       that.setData({
         isRecording:false,
         src:res.tempVideoPath,
         isHidden:false
       })
     }
   })
  },
  stopRecord:function(){
    var that = this
    this.ctx.stopRecord({
      success:function(res){
        that.setData({
          isRecording:false,
          src:res.tempVideoPath,
          isHidden:false
        })
      }
    })
  },
  onLoad:function(options){
    this.ctx = wx.createCameraContext()
  }
})

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值