微信小程序-媒体组件
2016-11-14 14:37
381 查看
audio
音频。MediaError.code
示例代码:
<!-- audio.wxml --> <audio poster="{{poster}}" name="{{name}}" author="{{author}}" src="{{src}}" id="myAudio" controls loop></audio> <button type="primary" bindtap="audioPlay">播放</button> <button type="primary" bindtap="audioPause">暂停</button> <button type="primary" bindtap="audio14">设置当前播放时间为14秒</button> <button type="primary" bindtap="audioStart">回到开头</button>
// audio.js Page({ onReady: function (e) { // 使用 wx.createAudioContext 获取 audio 上下文 context this.audioCtx = wx.createAudioContext('myAudio') }, data: { poster: 'http://y.gtimg.cn/music/photo_new/T002R300x300M000003rsKF44GyaSk.jpg?max_age=2592000', name: '此时此刻', author: '许巍', src: 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E06DCBDC9AB7C49FD713D632D313AC4858BACB8DDD29067D3C601481D36E62053BF8DFEAF74C0A5CCFADD6471160CAF3E6A&fromtag=46', }, audioPlay: function () { this.audioCtx.play() }, audioPause: function () { this.audioCtx.pause() }, audio14: function () { this.audioCtx.seek(14) }, audioStart: function () { this.audioCtx.seek(0) } })
image
图片。注:image组件默认宽度300px、高度225px
mode有12种模式,其中3种是缩放模式,9种是裁剪模式。
裁剪模式
示例:
<view class="page"> <view class="page__hd"> <text class="page__title">image</text> <text class="page__desc">图片</text> </view> <view class="page__bd"> <view class="section section_gap" wx:for="{{array}}" wx:for-item="item"> <view class="section__title">{{item.text}}</view> <view class="section__ctn"> <image style="width: 200px; height: 200px; background-color: #eeeeee;" mode="{{item.mode}}" src="{{src}}"></image> </view> </view> </view> </view>
Page({ data: { array: [{ mode: 'scaleToFill', text: 'scaleToFill:不保持纵横比缩放图片,使图片完全适应' }, { mode: 'aspectFit', text: 'aspectFit:保持纵横比缩放图片,使图片的长边能完全显示出来' }, { mode: 'aspectFill', text: 'aspectFill:保持纵横比缩放图片,只保证图片的短边能完全显示出来' }, { mode: 'top', text: 'top:不缩放图片,只显示图片的顶部区域' }, { mode: 'bottom', text: 'bottom:不缩放图片,只显示图片的底部区域' }, { mode: 'center', text: 'center:不缩放图片,只显示图片的中间区域' }, { mode: 'left', text: 'left:不缩放图片,只显示图片的左边区域' }, { mode: 'right', text: 'right:不缩放图片,只显示图片的右边边区域' }, { mode: 'top left', text: 'top left:不缩放图片,只显示图片的左上边区域' }, { mode: 'top right', text: 'top right:不缩放图片,只显示图片的右上边区域' }, { mode: 'bottom left', text: 'bottom left:不缩放图片,只显示图片的左下边区域' }, { mode: 'bottom right', text: 'bottom right:不缩放图片,只显示图片的右下边区域' }], src: '../../resources/cat.jpg' }, imageError: function(e) { console.log('image3发生error事件,携带值为', e.detail.errMsg) } })
video
视频。video标签认宽度300px、高度225px,设置宽高需要通过wxss设置width和height。
示例代码:
<view class="section tc"> <video src="{{src}}" controls ></video> <view class="btn-area"> <button bindtap="bindButtonTap">获取视频</button> </view> </view> <view class="section tc"> <video id="myVideo" src="http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?filekey=30280201010421301f0201690402534804102ca905ce620b1241b726bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c020101042530230204136ffd93020457e3c4ff02024ef202031e8d7f02030f42400204045a320a0201000400" binderror="videoErrorCallback" danmu-list="{{danmuList}}" enable-danmu danmu-btn controls></video> <view class="btn-area"> <button bindtap="bindButtonTap">获取视频</button> <input bindblur="bindInputBlur"/> <button bindtap="bindSendDanmu">发送弹幕</button> </view> </view>
function getRandomColor () { let rgb = [] for (let i = 0 ; i < 3; ++i){ let color = Math.floor(Math.random() * 256).toString(16) color = color.length == 1 ? '0' + color : color rgb.push(color) } return '#' + rgb.join('') } Page({ onReady: function (res) { this.videoContext = wx.createVideoContext('myVideo') }, inputValue: '', data: { src: '', danmuList: [ { text: '第 1s 出现的弹幕', color: '#ff0000', time: 1 }, { text: '第 3s 出现的弹幕', color: '#ff00ff', time: 3 } ] }, bindInputBlur: function(e) { this.inputValue = e.detail.value }, bindButtonTap: function() { var that = this wx.chooseVideo({ sourceType: ['album', 'camera'], maxDuration: 60, camera: ['front','back'], success: function(res) { that.setData({ src: res.tempFilePath }) } }) }, bindSendDanmu: function () { this.videoContext.sendDanmu({ text: this.inputValue, color: getRandomColor() }) }, videoErrorCallback: function(e) { console.log('视频错误信息:') console.log(e.detail.errMsg) } })
相关文章推荐
- 微信小程序------媒体组件(视频,音乐,图片)
- 微信小程序媒体组件详解(视频,音乐,图片)
- 微信小程序------媒体组件(视频,音乐,图片)
- 微信小程序------媒体组件(视频,音乐,图片)
- 微信小程序媒体组件(二)image
- 微信小程序媒体组件(一)audio
- 微信小程序媒体组件(三)video
- 微信小程序(十)swiper组件详细介绍
- 微信小程序把玩(十二)text组件
- 微信小程序把玩(十三)progress组件
- 微信小程序 (八)View组件详细介绍
- 微信小程序把玩(二十)slider组件
- 微信小程序把玩(二十一)switch组件
- 微信小程序--text组件学习
- 微信小程序把玩(二十八)image组件
- 微信小程序把玩(二十九)video组件
- 微信小程序把玩(二十四)toast组件
- 微信小程序把玩(十一)icon组件
- 微信小程序把玩(二十三)modal组件
- 微信小程序把玩(十五)checkbox组件