微信小程序_媒体组件_相机_实时音视频播放/录制

#媒体组件#

>camera相机

        >系统相机

        >使用时需要用户授权scope.camera

        >扫码二维码功能,需升级微信客户端至6.7.3

        >使用wx.createCameraContext()创建

camera相机组件属性
属性类型默认值说明
modestringnormal应用模式,只在初始化时有效,不能动态变更 normal:相机模式。 scanCode:扫码模式
device-positionstringback摄像头朝向
flashstringauto闪光灯,值为auto, on, off
frame-sizestringmedium指定期望的相机帧数据尺寸
bindstopeventhandle摄像头在非正常终止时触发,如退出后台等情况
binderroreventhandle用户不允许使用摄像头时触发
bindinitdoneeventhandle相机初始化完成时触发
bindscancodeeventhandle在扫码识别成功时触发,仅在 mode="scanCode" 时生效

        示例代码:

//.wxml

<view>
    <camera device-position="back" flash="off" binderror="error" style="width: 100%; height:300px;"></camera>
    <button type="primary" bindtap="takePhoto">拍照</button>
    <view>预览</view>
    <image mode="widthFix"src="{{src}}"></image>
</view>

//.js

Page({
    takePhoto() {
        const photo = wx.createCameraContext()
        photo.takePhoto({
            quality: 'high',
            success: (res) => {
                this.setData({
                src: res.tempImagePath
                })
            }
        })
    },
    error(e) {
        console.log(es.detail)
    }
})

        效果截图:

>live-player实时音视频播放

        >暂只针对特定类目的小程序开放

        >需要先通过类目审核

        >再在小程序管理后台,「开发」-「接口设置」 中自助开通该组件权限。

live-player实时音视频播放组件属性
属性类型默认值说明
srcstring音视频地址。目前仅支持 flv, rtmp 格式
modestringlive模式
autoplaybooleanfalse自动播放
mutedbooleanfalse是否静音
orientationstringvertical画面方向
object-fitstringcontain填充模式,可选值有 contain,fillCrop
min-cachenumber1最小缓冲区,单位s(RTC 模式推荐 0.2s)
max-cachenumber3最大缓冲区,单位s(RTC 模式推荐 0.8s)
bindstatechangeeventhandle播放状态变化事件,detail = {code}
bindfullscreench angeeventhandle全屏变化事件,detail = {direction, fullScreen}
bindnetstatuseventhandle网络状态通知,detail = {info}

        示例代码:

//wxml

<live-player src="{{src}}" mode="RTC" autoplay bindstatechange="statechange" binderror="error" style="width: 300px; height: 225px;" />

//.js

Page({
    statechange(e) {
        console.log('live-player code:', e.detail.code)
    },
    error(e) {
        console.error('live-player error:', e.detail.errMsg)
    }
})

>live-pusher实时音视频录制

        >针对特定类目开放

        >需要取得用户授权scope.camera、 scope.record

        >设置方式同live-player

live-pusher实时音视频录制组件属性
属性类型默认值说明
urlstring推流地址。目前仅支持 flv, rtmp 格式
modestringRTCSD(标清), HD(高清), FHD(超清), RTC(实时通话)
autopushbooleanfalse自动推流
mutedbooleanfalse是否静音
enable-camerabooleantrue开启摄像头
auto-focusbooleantrue自动聚集
orientationstringvertical画面方向
beautynumber0美颜,取值范围 0-9 ,0 表示关闭
whitenessnumber0美白,取值范围 0-9 ,0 表示关闭
aspectstring9:16宽高比,可选值有 3:4, 9:16
min-bitratenumber200最小码率
max-bitratenumber1000最大码率
waiting-imagestring进入后台时推流的等待画面
waiting-image-hashstring等待画面资源的MD5值
background-mutebooleanfalse进入后台时是否静音
bindstatechangeeventhandle状态变化事件,detail = {code}
bindnetstatuseventhandle网络状态通知,detail = {info}
binderroreventhandle渲染错误事件,detail = {errMsg, errCode}

        示例代码:

//.wxml

<view>
    <live-pusher url="{{src}}" mode="RTC" autopush bindstatechange="statechangel" style="width: 300px; height: 225px;" />
</view>

//.js

Page({
    statechangel(e) {
        console.log('live-pusher code:', e.detail.code)
    }
})

...持续学习完善中。


#学无止境#

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南枫知我意~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值