图片:

wx.chooseImage(OBJECT)

从本地相册选择图片或使用相机拍照。

OBJECT参数说明:

注:文件的临时路径,在小程序本次启动期间可以正常使用,如需持久保存,需在主动调用 wx.saveFile,在小程序下次启动时才能访问得到。

示例代码:

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

wx.previewImage(OBJECT)

预览图片。

OBJECT参数说明:

示例代码:

  1. wx.previewImage({
  2. current: '', // 当前显示图片的http链接
  3. urls: [] // 需要预览的图片http链接列表
  4. })

wx.getImageInfo(OBJECT)

获取图片信息

OBJECT参数说明:

success返回参数说明:

示例代码:

  1. wx.getImageInfo({
  2. src: 'images/a.jpg',
  3. success: function (res) {
  4. console.log(res.width)
  5. console.log(res.height)
  6. }
  7. })
  8.  
  9. wx.chooseImage({
  10. success: function (res) {
  11. wx.getImageInfo({
  12. src: res.tempFilePaths[],
  13. success: function (res) {
  14. console.log(res.width)
  15. console.log(res.height)
  16. }
  17. })
  18. }
  19. })

录音:

wx.startRecord(OBJECT)

开始录音。当主动调用wx.stopRecord,或者录音超过1分钟时自动结束录音,返回录音文件的临时文件路径。

OBJECT参数说明:

注:文件的临时路径,在小程序本次启动期间可以正常使用,如需持久保存,需在主动调用wx.saveFile,在小程序下次启动时才能访问得到。

wx.stopRecord()

​ 主动调用停止录音。

示例代码:

  1. wx.startRecord({
  2. success: function(res) {
  3. var tempFilePath = res.tempFilePath
  4. },
  5. fail: function(res) {
  6. //录音失败
  7. }
  8. })
  9. setTimeout(function() {
  10. //结束录音
  11. wx.stopRecord()
  12. }, )

音频播放控制:

wx.playVoice(OBJECT)

开始播放语音,同时只允许一个语音文件正在播放,如果前一个语音文件还没播放完,将中断前一个语音播放。

OBJECT参数说明:

示例代码:

  1. wx.startRecord({
  2. success: function(res) {
  3. var tempFilePath = res.tempFilePath
  4. wx.playVoice({
  5. filePath: tempFilePath,
  6. complete: function(){
  7. }
  8. })
  9. }
  10. })

wx.pauseVoice()

暂停正在播放的语音。再次调用wx.playVoice播放同一个文件时,会从暂停处开始播放。如果想从头开始播放,需要先调用 wx.stopVoice。

示例代码:

  1. wx.startRecord({
  2. success: function(res) {
  3. var tempFilePath = res.tempFilePath
  4. wx.playVoice({
  5. filePath: tempFilePath
  6. })
  7.  
  8. setTimeout(function() {
  9. //暂停播放
  10. wx.pauseVoice()
  11. }, )
  12. }
  13. })

wx.stopVoice()

结束播放语音。

示例代码:

  1. wx.startRecord({
  2. success: function(res) {
  3. var tempFilePath = res.tempFilePath
  4. wx.playVoice({
  5. filePath:tempFilePath
  6. })
  7.  
  8. setTimeout(function(){
  9. wx.stopVoice()
  10. }, )
  11. }
  12. })

音乐播放控制:

wx.getBackgroundAudioPlayerState(OBJECT)

获取音乐播放状态。

OBJECT参数说明:

success返回参数说明:

示例代码:

  1. wx.getBackgroundAudioPlayerState({
  2. success: function(res) {
  3. var status = res.status
  4. var dataUrl = res.dataUrl
  5. var currentPosition = res.currentPosition
  6. var duration = res.duration
  7. var downloadPercent = res.downloadPercent
  8. }
  9. })

wx.playBackgroundAudio(OBJECT)

播放音乐,同时只能有一首音乐正在播放。

OBJECT参数说明

示例代码

  1. wx.playBackgroundAudio({
  2. dataUrl: '',
  3. title: '',
  4. coverImgUrl: ''
  5. })

wx.pauseBackgroundAudio()

暂停播放音乐。

示例代码

  1. wx.pauseBackgroundAudio()

wx.seekBackgroundAudio(OBJECT)

控制音乐播放进度。

OBJECT参数说明

示例代码

  1. wx.seekBackgroundAudio({
  2. position:
  3. })

wx.stopBackgroundAudio()

停止播放音乐。

示例代码

  1. wx.stopBackgroundAudio()

wx.onBackgroundAudioPlay(CALLBACK)

监听音乐播放。

wx.onBackgroundAudioPause(CALLBACK)

监听音乐暂停。

wx.onBackgroundAudioStop(CALLBACK)

监听音乐停止。

文件:

wx.saveFile(OBJECT)

保存文件到本地。

OBJECT参数说明:

示例代码:

  1. wx.startRecord({
  2. success: function(res) {
  3. var tempFilePath = res.tempFilePath
  4. wx.saveFile({
  5. tempFilePath: tempFilePath,
  6. success: function(res) {
  7. var savedFilePath = res.savedFilePath
  8. }
  9. })
  10. }
  11. })

wx.getSavedFileList(OBJECT)

获取本地已保存的文件列表

OBJECT参数说明:

success返回参数说明:

fileList中的项目说明:

示例代码:

  1. wx.getSavedFileList({
  2. success: function(res) {
  3. console.log(res.fileList)
  4. }
  5. })

wx.getSavedFileInfo(OBJECT)

获取本地文件的文件信息

OBJECT参数说明:

success返回参数说明:

示例代码:

  1. wx.getSavedFileInfo({
  2. filePath: 'wxfile://somefile', //仅做示例用,非真正的文件路径
  3. success: function(res) {
  4. console.log(res.size)
  5. console.log(res.createTime)
  6. }
  7. })

wx.removeSavedFile(OBJECT)

删除本地存储的文件

OBJECT参数说明:

示例代码:

  1. wx.getSavedFileList({
  2. success: function(res) {
  3. ){
  4. wx.removeSavedFile({
  5. filePath: res.fileList[].filePath,
  6. complete: function(res) {
  7. console.log(res)
  8. }
  9. })
  10. }
  11. }
  12. })

wx.openDocument(OBJECT)

新开页面打开文档,支持格式:doc, xls, ppt, pdf, docx, xlsx, pptx

OBJECT参数说明:

示例代码

  1. wx.downloadFile({
  2. url: 'http://example.com/somefile.pdf',
  3. success: function (res) {
  4. var filePath = res.tempFilePath
  5. wx.openDocument({
  6. filePath: filePath,
  7. success: function (res) {
  8. console.log('打开文档成功')
  9. }
  10. })
  11. }
  12. })

视频:

wx.chooseVideo(OBJECT)

拍摄视频或从手机相册中选视频,返回视频的临时文件路径。

OBJECT参数说明:

返回参数说明:

注:文件的临时路径,在小程序本次启动期间可以正常使用,如需持久保存,需在主动调用 wx.saveFile,在小程序下次启动时才能访问得到。

示例代码:

  1. <view class="container">
  2. <video src="{{src}}"></video>
  3. <button bindtap="bindButtonTap">获取视频</button>
  4. </view>
  1. Page({
  2. bindButtonTap: function() {
  3. var that = this
  4. wx.chooseVideo({
  5. sourceType: ['album','camera'],
  6. maxDuration: ,
  7. camera: ['front','back'],
  8. success: function(res) {
  9. that.setData({
  10. src: res.tempFilePath
  11. })
  12. }
  13. })
  14. }
  15. })

音频组件控制:

wx.createAudioContext(audioId)

创建并返回 audio 上下文 audioContext 对象

audioContext

audioContext 通过 audioId 跟一个 audio 组件绑定,通过它可以操作一个 audio 组件。

audioContext对象的方法列表:

示例代码:

  1. <!-- audio.wxml -->
  2. <audio src="{{src}}" id="myAudio" ></audio>
  3.  
  4. <button type="primary" bindtap="audioPlay">播放</button>
  5. <button type="primary" bindtap="audioPause">暂停</button>
  6. <button type="primary" bindtap="audio14">设置当前播放时间为14秒</button>
  7. <button type="primary" bindtap="audioStart">回到开头</button>
  1. // audio.js
  2. Page({
  3. onReady: function (e) {
  4. // 使用 wx.createAudioContext 获取 audio 上下文 context
  5. this.audioCtx = wx.createAudioContext('myAudio')
  6. },
  7. data: {
  8. src: 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E06DCBDC9AB7C49FD713D632D313AC4858BACB8DDD29067D3C601481D36E62053BF8DFEAF74C0A5CCFADD6471160CAF3E6A&fromtag=46',
  9. },
  10. audioPlay: function () {
  11. this.audioCtx.play()
  12. },
  13. audioPause: function () {
  14. this.audioCtx.pause()
  15. },
  16. audio14: function () {
  17. )
  18. },
  19. audioStart: function () {
  20. )
  21. }
  22. })

视频组件控制:

wx.createVideoContext(videoId)

创建并返回 video 上下文 videoContext 对象

videoContext

videoContext 通过 videoId 跟一个 video 组件绑定,通过它可以操作一个 video 组件。

videoContext对象的方法列表:

示例代码:

  1. <view class="section tc">
  2. <video id="myVideo" src="http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?filekey=30280201010421301f0201690402534804102ca905ce620b1241b726bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c020101042530230204136ffd93020457e3c4ff02024ef202031e8d7f02030f42400204045a320a0201000400" enable-danmu danmu-btn controls></video>
  3. <view class="btn-area">
  4. <input bindblur="bindInputBlur"/>
  5. <button bindtap="bindSendDanmu">发送弹幕</button>
  6. </view>
  7. </view>
  1. function getRandomColor () {
  2. let rgb = []
  3. ; i < ; ++i){
  4. let color = Math.floor(Math.random() * ).toString()
  5. color = color.length == ? ' + color : color
  6. rgb.push(color)
  7. }
  8. return '#' + rgb.join('')
  9. }
  10.  
  11. Page({
  12. onReady: function (res) {
  13. this.videoContext = wx.createVideoContext('myVideo')
  14. },
  15. inputValue: '',
  16. bindInputBlur: function(e) {
  17. this.inputValue = e.detail.value
  18. },
  19. bindSendDanmu: function () {
  20. this.videoContext.sendDanmu({
  21. text: this.inputValue,
  22. color: getRandomColor()
  23. })
  24. }
  25. })

微信小程序-图片、录音、音频播放、音乐播放、视屏、文件的更多相关文章

  1. 微信小程序--图片相关问题合辑

    图片上传相关文章 微信小程序多张图片上传功能 微信小程序开发(二)图片上传 微信小程序上传一或多张图片 微信小程序实现选择图片九宫格带预览 ETL:微信小程序之图片上传 微信小程序wx.preview ...

  2. 微信小程序图片放大预览

    需求:当点击图片时,当前图片放大预览,且可以左右滑动 实现方式:使用微信小程序图片预览接口 我们可以看到api需要两个参数,分别通过下面的data-list和data-src来传到js中 wxml代码 ...

  3. 微信小程序 图片裁剪

    微信小程序 图片裁剪 分享一个微信小程序图片裁剪插件,很好用,支持旋转 文档:https://github.com/wyh19931106/image-cropper 1.json文件中添加image ...

  4. 微信小程序图片保存到本地

    微信小程序图片保存到本地是一个常用功能: 这里讲解下完整实现思路: 因为微信官方的授权只弹一次,用户拒绝后再次调用,就需要结合button组件的微信开放能力来调起,以下方案在微信各种授权中可参考. w ...

  5. 微信小程序图片上传和裁剪

    本篇博客用于解决微信小程序图片裁剪问题 图片裁剪常用于头像选择和图片合成等. 图片裁剪解决方案: 目前网络上知名的微信小程序图片裁剪插件是we-cropper(文末有链接) 操作步骤:下载好we-cr ...

  6. 微信小程序之----audio音频播放

    audio audio为音频组件,我们可以轻松的在小程序中播放音频. audio组件属性如下: 属性名 类型 默认值 说明 id String   video 组件的唯一标识符, src String ...

  7. 微信小程序图片上传并展示

    1.首先编写微信小程序的页面和样式: index.js var total = []; Page({ data: { perImgSrc: [] }, onLoad: function (option ...

  8. 关于微信小程序图片失真的解决方案

    今天来说一说 关于微信小程序的图片失真问题的解决,微信小程序的image标签要设置其宽高,不然图片若宽高过大会撑开原始图片大小的区域:如下 但是宽高设置固定了会导致有些图片和规定显示图片大小的比例不一 ...

  9. 5行代码实现微信小程序图片上传与腾讯免费5G存储空间的使用

    本文介绍了如何在微信小程序开发中使用腾讯官方提供的云开发功能快速实现图片的上传与存储,以及介绍云开发的 5G 存储空间的基本使用方法,这将大大提高微信小程序的开发效率,同时也是微信小程序系列教程的视频 ...

  10. 快速高效实现微信小程序图片上传与腾讯免费5G存储空间的使用

    本文介绍了如何在微信小程序开发中使用腾讯官方提供的云开发功能快速实现图片的上传与存储,以及介绍云开发的 5G 存储空间的基本使用方法,这将大大提高微信小程序的开发效率 对于一般的图片上传功能开发,我们 ...

随机推荐

  1. Nexus安装及部署(含如何在Tomcat中部署)

    1. Nexus价值 1)方便-节约带宽-快 2)便于统一管理 3)持续集成需要 2.Nexus下载 http://www.sonatype.org/nexus/go 3.Nexus启动 解压后进入\ ...

  2. css给div添加0.5px的边框

    具体代码实现如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  3. iOS真机运行 Xcode报错(libpng error: CgBI: unhandled critical chunk)问题已解决;

    Cocos2d-x加载图片资源出现libpng error: CgBI: unhandled critical chunk Xcode7.3 设置Remove Text Metadata From P ...

  4. Win7+Docker(boo2docker)搭建php开发环境简略

    之所以称谓简略 是不准备配图的意思 嘿嘿! 步骤1: 到docker官网下载Docker Toolbox,并完全安装 步骤2: 安装完成后,运行在桌面新生成的快捷方式:Docker Quickstar ...

  5. [Python] 删除指定目录下后缀为 xxx 的过期文件

    import os import time import datetime def should_remove(path, pattern, days): if not path.endswith(p ...

  6. 向Android模拟器中批量导入通讯录联系人

    使用adb命令向Android模拟器中批量导入通讯录联系人的方法: 使用adb提供的命令, 可以非常方便地从PC中将通讯录批量导入android模拟器中. 首先要先准备好固定格式的vcf文件, 该文件 ...

  7. j2ee部分

    j2ee部分 1.BS与CS的联系与区别. C/S是Client/Server的缩写.服务器通常采用高性能的PC.工作站或小型机,并采用大型数据库系统,如Oracle.Sybase.InFORMix或 ...

  8. cocos2dx打包apk

    一.相关工具准备 1.SDK 2.NDK 3.ANT 4.JDK 并且搭建好JDK环境 二.搭建环境 1.打开cocos2dx目录下的setup.py文件 2.如图所示,按照提示分别输入之前下载的ND ...

  9. ES6里箭头函数的陷阱

    ECMAScript 6新增了箭头函数 原来的匿名函数 function(){},现在可以简化成()=>{} 看起来高大上,像C#什么的语法. 但是箭头函数的this对象,不能更改,总是指向函数 ...

  10. YbSoftwareFactory 代码生成插件【十六】:Web 下灵活、强大的审批流程实现(含流程控制组件、流程设计器和表单设计器)

    程序=数据结构+算法,而企业级的软件=数据+流程,流程往往千差万别,客户自身有时都搞不清楚,随时变化的情况更是家常便饭,抛开功能等不谈,需求变化很大程度上就是流程的变化,流程的变化会给开发工作造成很大 ...