const c = wx.createMediaContainer()
c.extractDataSource({
source: this.url, // 第一个录音
success: (t) => {
console.log(1, t)
c.addTrack(t.tracks[0])
c.extractDataSource({
source: this.url2, // 第二个录音
success: (tttt) => {
console.log(2, tttt)
c.addTrack(tttt.tracks[0])
setTimeout(() => {
c.export({
success: (ee) => {
console.log('export')
console.log(ee)
const { tempFilePath } = ee
this.videoUrl = tempFilePath
console.log(this.videoUrl)
},
})
}, 1000)
},
})
},
fail: (e) => {
console.log('extractDataSource fail', e)
},
})
问题详细:
需求是拼接两段录音A、B。
现有做法:
1、在同一个容器(wx.createMediaContainer())内
2、分别调用container.extractDataSource去获取2段录音
3、用container.export出视频文件
微信开发者工具和实机(只测了安卓)得到的结果不一致。
得到结果:
1、开发者工具的结果是A+B,也就是播放完A再播放B,时长也是A的时长加B的时长。
2、安卓实机得到的结果是A和B同时播放,时长是其中一个时长。
我想问的是,MediaContainer是否能实现A+B的结果(而不是A叠加B),如果可以,如何实现。