兄弟,我的是 Android 可以,iOS N秒动一次,明明录了5秒左右,结果视频只有一秒,
MediaRecorder示例在安卓设备录制画面卡顿是否有正确的处理方式?代码片段是官方的mediarecorder录制示例,进行了些微修改。 按照示例正常录制,在安卓设备上是丢失了一些帧的,导致画面看起间隔N毫秒动一下。ios上测试正常,安卓测试了小米15和vivo x 100,都存在这个情况。 目前发现有一个解决办法,可以再录制这一帧后间隔一定的时间再录下一帧,可以再这两台设备上解决这个问题(如下图),间隔时间不能太短,否则依然会出现一些画面闪烁之类的问题。 [图片] 但是这样会导致录制时间大大增加,是否有正确的处理方式来解决这个问题?
1天前五年了 有进展吗
createMediaRecorder 录制时出现卡顿,录制好的视频也卡顿,动画不流畅?代码:https://developers.weixin.qq.com/s/tAtV6ImD77nE 机型:小米10 问题描述: webGL中有一个立方体选中的动画,在未录制之前动画流畅的转动,使用的是 canvas.requestAnimationFrame渲染动画; 流畅的动画: [视频] 当我开启录制后,MediaRecorder.start(),此时画布中的动画会出现卡顿,特别不流畅,肉眼可见,并且导出后的视频也是不流畅的。视频录制使用mediaRecorder.requestFrame()渲染每一帧。 我怀疑是 canvas.requestAnimationFrame 与 mediaRecorder.requestFrame 冲突导致,mediaRecorder.requestFrame明显比较慢。 录制的视频效果: [视频]
1天前https://developers.weixin.qq.com/s/WgyDf0mn8632 这个链接可以复现在 安卓上 createMediaRecorder.stop 报错问题
使用 createMediaRecorder 调用 .stop 后报错?使用 wx.createVKSession 获取到每一帧,渲染到Canvas WebGL 上,通过 createMediaRecorder 导出视频后,安卓中报错 {eventType: 303, errCode: 601, errDesc: "analysis failed"}, iOS 正常。 虽然 iOS 正常,但是视频特别卡。https://developers.weixin.qq.com/s/MCz3kPmC7zpa 经测试,官方Demo也是有同样的问题。 目前有两个问题: 导出视频后不流畅。安卓中 createMediaRecorder.start 正常,调用 .stop 就报错{eventType: 303, errCode: 601, errDesc: "analysis failed"}
09-08兄弟 解决了吗?而且iOS导出视频后,也不流畅,官方给的Demo 也是不流畅的
MediaRecorder 安卓无法录制(stop回调报错?ios正常<video id="videoPlay" class="video" :src="media"></video> <canvas id="myCanvas" type="2d" style="width: 100%;height: 300px;background-color: darkcyan;"></canvas> <canvas id="myCanvas2" type="webgl" style="width: 100%;height: 300px;background-color: greenyellow;"></canvas> js: onloadedmetadata(){ const w = 900 let h = 600 const dpr = wx.getSystemInfoSync().pixelRatio wx.createSelectorQuery().select('#videoPlay').context(res => { this.video = res.context wx.createSelectorQuery().selectAll('#myCanvas,#myCanvas2').node(res => { const ctx1 = res[0].node.getContext('2d') res[0].node.width = w * dpr res[0].node.height = h * dpr const recorder=this.ads = wx.createMediaRecorder(res[1].node, {}) recorder.start() recorder.on('start', (resd) => { this.timer= setInterval(() => { ctx1.drawImage(this.video, 0, 0, w*dpr, h*dpr ); const render = this.createRenderer(res[1].node, w*dpr, h*dpr) render(new Uint8Array(ctx1.getImageData(0, 0, w* dpr , h*dpr).data), w * dpr, h*dpr) }, 1000 / 24) }) recorder.on('stop', (res) => { wx.saveVideoToPhotosAlbum({ filePath: res.tempFilePath, success (res) { uni.showToast({ title: '录制成功' }) .... } }) }) recorder.on("timeupdate", (res) => { console.log('recorder 录制中,当前时间:', res.currentTime) }) }).exec() }).exec() } [图片]
09-08next-margin="-20rpx" 完美解决您的需求
swiper-item之间是否可支持设置间隔https://developers.weixin.qq.com/miniprogram/dev/component/swiper.html swiper-item之间是否可支持设置间隔,滚动的间隙 [图片]
2022-06-02