收藏
回答

MediaContainer 的api 是否能拼接音频?注意是拼接,不是重叠。

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),如果可以,如何实现。


回答关注问题邀请回答
收藏
登录 后发表内容
问题标签