- video组件最近经常播放一会就卡住缓冲
最近收到很多用户反应,video组件播放视频时,播放几秒或者几十秒都会有卡住缓冲的情况,缓冲有时要很久才能继续播放,有时就卡在那里。可以排除网络问题,都是不同地区的用户向我们反馈的。之前都是正常的,就最近出现的问题。视频地址在浏览器播放也是正常的,不会出现那种情况。 测试过发现这一现象,就是如果播放时,缓存的速度比播放快,那就能正常播放,一旦慢些的话就卡在那边,再也动不了。 希望能尽快处理下,谢谢! 截图: [图片]
2018-07-24 - video组件不显示视频第一帧图
- 需求的场景描述(希望解决的问题) 看图 这是在开发者工具上[图片] 这是在安卓手机上 [图片] 这是video标签部分的代码 [图片] 开发者工具上能显示视频第一帧图片,真机上显示黑的 - 希望提供的能力 默认显示视频第一帧为封面图
2018-08-20 - 小程序预览图片时横屏不能自动旋转
- wx.previewImage 预览图片时候不支持手机横屏自动旋转(手机已经开启自动旋转设置) - 图片随屏幕旋转
2018-11-01 - 安卓video标签没有默认第一帧的封面
安卓video标签没有默认第一帧的封面,ios video标签没有加poster属性可以默认将视频的第一帧作为封面。且ios使用cover-image可以覆盖video,但安卓不可以,安卓如何覆盖video组件,使用同层播放器的时候会报错。 总结两个问题: 安卓video标签没有默认将第一帧作为封面图 安卓cover-image无法覆盖video组件,使用同层播放器无效会报错
2018-02-23 - 小程序真机调试闪退
小程序真机调试闪退 我在电脑上面真机调试没有问题,别的管理员扫码就闪退,什么问题啊
2019-02-08 - video组件播放进度
- 需求的场景描述(希望解决的问题) video组件提供的进度相关的监测只有 bindtimeupdate ,官方说明这个函数250ms触发一次,在开发者工具上基本符合,但在真机上1秒触发一次。 wx.createInnerAudioContext()创建的innerAudioContext有个currentTime属性,但是video没有。 - 希望提供的能力 可以让开发者获取video的当前进度(时间)
2018-08-10 - 使用getBackgroundAudioManager,发现有MP3无法播放
- 当前 Bug 的表现(可附上截图) 1、音频文件在本地或其他播放器中正常。但有的在小程序中播放不了。例如: https://cms.hanzhigu.com/upload/audio/info/20190111/beb52979-2e0e-44c8-9d2e-dface3aa832b.mp3 2、在小程序中使用的组件是wx.getBackgroundAudioManager,上面这个音频放不了。 3、我把小程序官方提供的音频代码中SRC修改为这个,也播放不了,界面如下图,一动不动。也无错误打印信息。 使用背景播放器 [图片] - 预期表现 希望能正常播放所有的mp3文件或者支持的音频格式文件。而不是有的能播放,有的不能播放(都是MP3) - 复现路径 - 提供一个最简复现 Demo /*JS文件====================================================*/ const audioManager = wx.getBackgroundAudioManager(); //打开这个注释的mp3源,就可以播放 const dataUrl = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46' //使用下面这个播放源就无法播放。两个音频文件在浏览器中或其他本地都能正常播放 //const dataUrl = "https://cms.hanzhigu.com//upload/audio/info/20190111/beb52979-2e0e-44c8-9d2e-dface3aa832b.mp3 Page({ onShareAppMessage() { return { title: '背景音乐', path: 'page/API/pages/background-audio/background-audio' } }, onLoad() { this._enableInterval() if (app.globalData.backgroundAudioPlaying) { this.setData({ playing: true }) } }, data: { playing: false, playTime: 0, formatedPlayTime: '00:00:00' }, play() { const that = this audioManager.title = '这是测试'; audioManager.epname = '此时此刻'; audioManager.singer = 'XXX'; audioManager.coverImgUrl = 'http://y.gtimg.cn/music/photo_new/T002R300x300M000003rsKF44GyaSk.jpg?max_age=2592000', audioManager.src = dataUrl; that.setData({ playing: true }); this._enableInterval() app.globalData.backgroundAudioPlaying = true }, seek(e) { clearInterval(this.updateInterval) const that = this audioManager.seek(e.detail.value); setTimeout(function() { that._enableInterval() }, 2000) }, pause() { const that = this audioManager.pause(); that.setData({ playing: false }); app.globalData.backgroundAudioPlaying = false }, stop() { const that = this audioManager.stop(); that.setData({ playing: false }); app.globalData.backgroundAudioPlaying = false }, _enableInterval() { const that = this function update() { that.setData({ playTime: parseInt(audioManager.currentTime), formatedPlayTime: util.formatTime(audioManager.currentTime + 1) }) } update() this.updateInterval = setInterval(update, 500) }, onUnload() { clearInterval(this.updateInterval) } }) /*WXML-----------------------------------------------*/ <view class="container"> <template is="head" data="{{title: 'backgroundAudio'}}"/> <view class="page-section"> <view class="page-body-info"> <text class="time-big">{{formatedPlayTime}}</text> <slider class="slider" min="0" max="1777" step="1" value="{{playTime}}" bindchange="seek"></slider> <view class="play-time"> <text>00:00</text> <text>29:37</text> </view> </view> <view class="page-body-text tc">注意:离开当前页面后背景音乐将保持播放,但退出小程序将停止</view> <view class="page-body-buttons"> <block wx:if="{{playing === true}}"> <view class="page-body-button" bindtap="stop"> <image src="/image/stop.png"></image> </view> <view class="page-body-button" bindtap="pause"> <image src="/image/pause.png"></image> </view> </block> <block wx:if="{{playing === false}}"> <view class="page-body-button"></view> <view class="page-body-button" bindtap="play"> <image src="/image/play.png"></image> </view> </block> <view class="page-body-button"></view> </view> </view> <template is="foot" /> </view> /*wxss------------------------------------*/ image { width: 150rpx; height: 150rpx; } .page-body-wrapper { margin-top: 0; } .page-body-info { padding-bottom: 50rpx; } .time-big { font-size: 60rpx; margin: 20rpx; } .slider { width: 650rpx; } .play-time { font-size: 28rpx; width: 700rpx; padding: 20rpx 0; display: flex; justify-content: space-between; box-sizing: border-box; } .page-body-buttons { display: flex; justify-content: space-around; margin-top: 100rpx; } .page-body-button { width: 250rpx; text-align: center; }
2019-01-11