【微信小程序开发小白零基础入门】微信小程序媒体API【建议收藏】

简介: 微信小程序媒体API文章目录微信小程序媒体API一、图片管理1. 选择图片2. 预览图片3. 获取图片信息4. 保存图片二、录音管理1.start(options)方法的参数说明2.采样率和码率关系三、音频管理1. 背景音频管理2. 音频组件控制四、视频管理1. 选择视频2. 保存视频3. 视频组件控制五、相机管理1. cameraContext对象的方法2. takePhoto的OBJECT参数3. startRecord的OBJECT参数4. stopRecord的OBJECT参数六、推荐小程序(欢迎各位大佬指导)小程序使用wx.chooseImage(OBJECT)从本地相册选择图片或使

微信小程序媒体API


文章目录

微信小程序媒体API

一、图片管理

1. 选择图片

2. 预览图片

3. 获取图片信息

4. 保存图片

二、录音管理

1.start(options)方法的参数说明

2.采样率和码率关系

三、音频管理

1. 背景音频管理

2. 音频组件控制

四、视频管理

1. 选择视频

2. 保存视频

3. 视频组件控制

五、相机管理

1. cameraContext对象的方法

2. takePhoto的OBJECT参数

3. startRecord的OBJECT参数

4. stopRecord的OBJECT参数

六、推荐小程序(欢迎各位大佬指导)


一、图片管理

1. 选择图片

小程序使用wx.chooseImage(OBJECT)从本地相册选择图片或使用相机拍照获得图片,图片将被存放在设备的临时路径,在小程序本次启动期间可以正常使用。

b16e28d0639ada52c58222a726c7799.png

 //选择图片
  chooseImage:function(){
    var that = this
    wx.chooseImage({
      count: 1, // 默认9
      sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
      sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
      success: function (res) {
        // 返回选定照片的路径列表,tempFilePath可以作为img标签的src属性显示图片
        var tempFilePaths = res.tempFilePaths
        that.setData({ src: tempFilePaths[0]})
      }
    })
  },

f02ab59cfeb34b2d969b685e6fd1302c.png

2. 预览图片

小程序使用wx.previewImage(OBJECT) 预览图片,OBJECT参数说明如表所示。

61755fbc517e75905273b9ba9aed1e7.png

  //预览图片
  previewImage:function(){
    var that = this
    wx.previewImage({
      urls: [this.data.src],
    })
  },

47df791a5b054094a15431e6be74710a.png

3. 获取图片信息

小程序使用wx.aetlmagelnfo(OBJECT)获取图片信息,OBJECT参数说明如表所示。

06da037433b47518f23ed33f4a39c68.png

success返回参数说明如表所示。


orientation参数说明说明如表所示。

 //获取图片信息
  getImageInfo: function () {
    var that = this
    wx.getImageInfo({
      src: this.data.src,
      success:function(res){
        wx.showToast({
          icon:'none',
          title: '宽:'+res.width+',高:'+res.height,
        })
      }
    })
  },
————————————————
版权声明:本文为CSDN博主「智慧云工具箱」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_44967475/article/details/120683351

2f7ead3b0026449591305196792d9bdc.png

4. 保存图片

小程序使用wx.saveImageToPhotosAlbum(OBJECT) 保存图片到系统相册,需要用户授权 scope.writePhotosAlbum。该接口从基础库 1.2.0 开始支持,低版本需做兼容处理。 OBJECT参数说明如表所示。

 //保存图片
  saveImage: function () {
    var that = this
    wx.saveImageToPhotosAlbum({
      filePath: that.data.src,
      success:function(){
        wx.showToast({
          title: '保存成功!',
        })
      }
    })
  },
————————————————
版权声明:本文为CSDN博主「智慧云工具箱」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_44967475/article/details/120683351

8ba8c6119fea4ee9b490ffbecfa1f40f.png

二、录音管理

小程序使用wx.getRecorderManager()获取全局唯一的录音管理器 recorderManager,该接口从基础库 1.6.0 开始支持,低版本需做兼容处理。


开始录音

  //开始录音
  start:function(){
    const options = {
      duration: 10000,
      sampleRate: 44100,
      numberOfChannels: 1,
      encodeBitRate: 192000,
      format: 'aac',
      frameSize: 50
    }
    this.rm.start(options)
  },

7196c86546414eb09ec6ab68ebf8b3fa.png

结束录音

  //停止录音
  stop:function(){
    this.rm.stop()
  },

1.start(options)方法的参数说明

start(options)方法的参数说明如表所示。

390579ee6c8ae4638e53f0f0866e337.png

2.采样率和码率关系

采样率和码率关系如表所示

be661aff4439d8cacf009bb3c7969bd.png

三、音频管理

音频根据其播放性质可以分为背景音频和前台音频。 背景音频在小程序最小化之后还可以继续在后台播放。

1. 背景音频管理

小程序使用wx.getBackgroundAudioManager()获取全局唯一的背景音频管理器 backgroundAudioManager。backgroundAudioManager对象的属性说明如表所示。

b9c4ffc2e61703f1186ab7907d5e701.png

backgroundAudioManager 对象的方法说明如表所示。

e50aec67fbc323d6555fc64271ad44d.png

errCode 说明解释如下: 10001:系统错误 10002:网络错误 10003:文件错误 10004:格式错误 -1:未知错误

  //初始化背景音频
  initialAudio:function(){
    let bgAudioManager = this.bgAudioManager
    bgAudioManager.title = '******'
    bgAudioManager.epname = '******'
    bgAudioManager.singer = '******'
    bgAudioManager.coverImgUrl = '******'
    bgAudioManager.src = '******' // 设置了 src 之后会自动播放
  },
  //开始播放
  play: function () {
    this.bgAudioManager.play()
  },
  //暂停播放
  pause: function () {
    this.bgAudioManager.pause()
  },

2. 音频组件控制

小程序使用wx.createInnerAudioContext()创建并返回内部 audio 上下文对象innerAudioContext,该接口从基础库 1.6.0 开始支持,低版本需做兼容处理。

72cf2a839e8be8eeae2404b1e367424.png

innerAudioContext对象的方法说明如表所示。

0f002c0360a0ae4489c399e56f2ec0b.png56f261cd9d23f013f38edd50853e43e.png

//初始化音频
  initialAudio:function(){
    let audioCtx = this.audioCtx
    audioCtx.autoplay = true //允许自动播放
    audioCtx.src = '******'
    audioCtx.onPlay(() => {
      console.log('开始播放')
    })
    audioCtx.onPause((res) => {
      console.log('暂停播放')
    })
    audioCtx.onStop((res) => {
      console.log('停止播放')
    })
  },
  //开始播放
  play:function(){
    this.audioCtx.play()
  },
  //暂停播放
  pause: function () {
    this.audioCtx.pause()
  },
  //停止播放
  stop:function(){
    this.audioCtx.stop()
  },

四、视频管理

1. 选择视频

小程序使用wx.chooseVideo(OBJECT) 拍摄视频或从手机相册中选视频,返回视频的临时文件路径。OBJECT参数说明如表所示。

a5f43d0ea500f16f3282bfebc1670f1.png

success返回参数说明如下: tempFilePath:选定视频的临时文件路径; duration:选定视频的时间长度; size:选定视频的数据量大小; height:返回选定视频的长; width:返回选定视频的宽。 需要注意是,wx.chooseVideo获得的视频仅能在小程序启动期间临时使用。 如需持久保存,需在主动调用 wx.saveFile进行保存,在小程序下次启动时才能访问得到。

  //选择视频
  chooseVideo: function () {
    var that = this
    wx.chooseVideo({
      sourceType: ['album', 'camera'],
      maxDuration: 60,
      camera: 'back',
      success: function (res) {
        that.setData({
          src: res.tempFilePath
        })
      }
    })
  },

7c25aa4c7eb94404952113e5fc0d0465.png

2. 保存视频

小程序使用wx.saveVideoToPhotosAlbum(OBJECT) 保存视频到系统相册,需要用户授权 scope.writePhotosAlbum。该接口从基础库 1.2.0 开始支持,低版本需做兼容处理。 OBJECT参数说明如表所示。5848c3ffd4c5c27464bb2782238acb9.png

  //保存视频
  saveVideo: function () {
    var src = this.data.src
    wx.saveVideoToPhotosAlbum({
      filePath: src,
      success: function (res) {
        wx.showToast({
          title: '保存成功!',
        })
      }
    })
  },

b02c79e1631a46f78f07dba957fc4627.png

3. 视频组件控制

小程序使用wx.createVideoContext(videoId,this) 创建并返回视频上下文videoContext对象。videoContext 通过 videoId 跟一个 video 组件绑定,通过它可以操作一个 video 组件。 在自定义组件下,第二个参数传入组件实例this,以操作组件内组件。 videoContext 对象的方法说明如表所示。

a880ce9dcaa3ca326264f3c721d8382.png

  //开始播放
  play: function () {
    this.videoContext.play()
  },
  //暂停播放
  pause: function () {
    this.videoContext.pause()
  },
  inputValue: '',//弹幕文本内容
  //更新弹幕文本
  bindInputBlur: function (e) {
    this.inputValue = e.detail.value
  },
  //发送弹幕
  bindSendDanmu: function () {
    this.videoContext.sendDanmu({
      text: this.inputValue,
      color: getRandomColor()
    })
  },

a888831da433472d9b7760f2de3dfe94.pnge9e114c623b14520865c169d0f5cd009.png

五、相机管理

 //开始录像
  startRecord: function () {
    var that = this
    that.setData({ isRecording: true, isHidden: true })
    this.ctx.startRecord({
      //超时自动结束
      timeoutCallback(res) {
        that.setData({
          isRecording: false,
          src: res.tempVideoPath, //更新视频路径地址
          isHidden: false //显示video组件
        })
      }
    })
  },
a25162846f204b7190aad3b63c1292d9.png e5fe8d5558094a87a18293406605d3e9.png
  //停止录像
  stopRecord: function () {
    var that = this
    this.ctx.stopRecord({
      success: function (res) {
        that.setData({
          isRecording: false,
          src: res.tempVideoPath, //更新视频路径地址
          isHidden: false //显示video组件
        })
      }
    })
  },

1360dcd20f7e4bf2827e0152d5560760.png

1. cameraContext对象的方法

cameraContext对象的方法列表如下表所示。3c1f93c52643495b8db48365150498f.png

2. takePhoto的OBJECT参数

takePhoto的OBJECT参数列表如下表所示。64a856217ccbd0187a05c999e13d2b5.png

3. startRecord的OBJECT参数

startRecord的OBJECT参数列表如下表所示。18e0cb674cf2550cf992d1e33a9bf1d.png

4. stopRecord的OBJECT参数

stopRecord的OBJECT参数列表如下表所示。aa62f560fe38400153e60423e4ebfb7.png

六、推荐小程序(欢迎各位大佬指导)

相关文章
|
2月前
|
人工智能 自然语言处理 小程序
微信小程序+淘宝API,无缝购物体验提升复购率!
在电商竞争激烈的当下,微信小程序与淘宝API的整合为商家提供了一条提升用户体验与复购率的创新路径。本文详解其整合原理、实现步骤及优势,助力商家打造无缝购物体验,提升转化效率。
113 0
|
4月前
|
小程序 前端开发 Android开发
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
997 29
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
|
2月前
|
供应链 小程序 API
微信小程序API集成京东库存,移动端销量暴涨!
在数字化时代,微信小程序与京东库存系统集成成为提升移动端销量的关键策略。本文详解如何通过API实现库存实时同步、优化用户体验,推动销量增长50%以上,并结合实际案例与代码示例,为企业提供可落地的解决方案。
82 0
|
4月前
|
JSON 监控 小程序
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
260 14
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
|
6月前
|
存储 移动开发 小程序
校园圈子系统小程序(圈子论坛、私信聊天、资料共享、二手交易、兼职,跑腿)开源码开发/微信公众号、小程序、H5多端账号同步/搭建多城市的综合社交生活平台
基于开源技术栈构建的校园圈子系统小程序,整合社交与生活服务功能,涵盖兴趣圈子、私信聊天、资料共享、二手交易、兼职跑腿等六大核心模块。通过多端账号同步(微信公众号/小程序/H5),实现数据实时交互,满足学生群体的多元化需求。项目精准锚定校园市场,以“社交+服务”双轮驱动,提供一站式解决方案,支持快速部署与多校区运营,同时具备广告、佣金、会员等多元变现能力,是打造校园生态的理想工具。
551 3
校园圈子系统小程序(圈子论坛、私信聊天、资料共享、二手交易、兼职,跑腿)开源码开发/微信公众号、小程序、H5多端账号同步/搭建多城市的综合社交生活平台
|
7月前
|
小程序 数据安全/隐私保护 开发者
【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
378 3
|
7月前
|
人工智能 小程序 程序员
【视频测评 DEMO 参考】VSCode 神级 AI 插件通义灵码:完全免费+实战教程+微信贪吃蛇小程序
VSCode 神级 AI 插件通义灵码:完全免费+实战教程+微信贪吃蛇小程序
560 8
|
7月前
|
存储 小程序 前端开发
微信小程序与Java后端实现微信授权登录功能
微信小程序极大地简化了登录注册流程。对于用户而言,仅仅需要点击授权按钮,便能够完成登录操作,无需经历繁琐的注册步骤以及输入账号密码等一系列复杂操作,这种便捷的登录方式极大地提升了用户的使用体验
2332 12
|
7月前
|
缓存 小程序 API
微信小程序网络请求与API调用:实现数据交互
本文深入探讨了微信小程序的网络请求与API调用,涵盖`wx.request`的基本用法、常见场景(如获取数据、提交表单、上传和下载文件)及注意事项(如域名配置、HTTPS协议、超时设置和并发限制)。通过一个简单案例,演示了如何实现小程序与服务器的数据交互。掌握这些技能将帮助你构建功能更丰富的应用。
|
7月前
|
自然语言处理 搜索推荐 小程序
微信公众号接口:解锁公众号开发的无限可能
微信公众号接口是微信官方提供的API,支持开发者通过编程与公众号交互,实现自动回复、消息管理、用户管理和数据分析等功能。本文深入探讨接口的定义、类型、优势及应用场景,如智能客服、内容分发、电商闭环等,并介绍开发流程和工具,帮助运营者提升用户体验和效率。未来,随着微信生态的发展,公众号接口将带来更多机遇,如小程序融合、AI应用等。