微信小程序仿真器环境下,加载Storage中的音频与加载远程中的音频的时间花费对比

实验目的
对比实验,在微信小程序仿真器环境下加载Storage中的音频和加载远程中的音频的时间花费对比。
实验步骤

  1. 在同一页面中显示“预加载播放”、“远程加载播放”按钮。
  2. 将音频下载并存储到Storage中。
  3. “Storage播放”按钮绑定PreloadAudio(),该函数实现的功能是获取Storage中文件地址并播放音频。
  4. “远程加载播放”按钮绑定RequestAudio(),该函数实现的功能是直接请求远程音频资源,播放音频。(与步骤3中的音频资源为同一个)
  5. 分别点击“预加载播放”按钮、“远程加载播放”按钮,重复10次,记录时间花费并计算平均值。
  6. 更换音频文件,再次重复步骤5。
  7. 制表。

实验结果
测试数据详细情况如下表:

实验结论
在仿真器环境下,加载同一段音频的情况下,加载Storage中的音频比加载远程中的音频的时间花费多。

结果分析
在微信小程序仿真器环境下,加载Storage中的音频比加载远程中的音频的时间花费多的结果与预期结果相反。在请教老师后,得知性能测试应该在真机环境下进行。于是继续设计实验,测试在真机环境下,加载Storage中的音频与加载远程中的音频的时间花费对比,请查看仿真器环境下,加载Storage中的音频与加载远程中的音频的时间花费对比

附录实验代码片段


  /*音频预加载 */
  PreloadAudio(questionURL: string){
    console.log("questionURL:" + questionURL);
    wx.downloadFile({
        url: questionURL,
        success(res){
          console.log("tempFilePath", res.tempFilePath);
          if(res.statusCode === 200){
            console.log("音频下载完毕,downloadPath", res.tempFilePath);
            wx.setStorageSync('mp3_cache', res.tempFilePath);       
          }  
        },
        fail(err){
          console.log(err.errMsg);
        }
    })  
  },

 onLoad: function (options) {
    //var preURL = "http://www.teanglann.ie/CanC/dul.mp3";
    //var preURL = "http://music.163.com/song/media/outer/url?id=1831039089.mp3"
    var preURL = "http://music.163.com/song/media/outer/url?id=562598065.mp3";
    //var preURL = "http://mp32.9ku.com/upload/128/2020/12/05/1012951.mp3"
    console.log("first-onload")
    this.PreloadAudio(preURL);
  },
/*预加载播放按钮绑定函数*/
  preloadAudio(){
    var preURL = wx.getStorageSync('mp3_cache')
    var timestamp1 = new Date().getTime()
    var audioCtx = wx.createInnerAudioContext()
    audioCtx.src = preURL
    audioCtx.autoplay = true
    audioCtx.play()
    audioCtx.onPlay(function () {
      var timestamp2 = new Date().getTime();
      console.log("开始播放时间戳为:" + timestamp2);
      console.log("时间差:", timestamp2 - timestamp1)
      console.log("playing...");
    })
    audioCtx.onStop(function () {
      audioCtx.destroy()
    })
    audioCtx.onError(function () {
      console.log('播放失败:', audioCtx.src)
    })
  },
/*远程加载播放按钮绑定函数*/
  requestAudio(){
    //var preURL = "http://www.teanglann.ie/CanC/dul.mp3";
    //var preURL = "http://music.163.com/song/media/outer/url?id=562598065.mp3";
    var preURL = "http://music.163.com/song/media/outer/url?id=1831039089.mp3"
    //var preURL = "http://mp32.9ku.com/upload/128/2020/12/05/1012951.mp3"
    var timestamp1 = new Date().getTime()
    var audioCtx = wx.createInnerAudioContext()
    audioCtx.src = preURL
    audioCtx.autoplay = true
    audioCtx.play()
    audioCtx.onPlay(function () {
      var timestamp2 = new Date().getTime();
      console.log("开始播放时间戳为:" + timestamp2);
      console.log("时间差:", timestamp2 - timestamp1)
      console.log("playing...");
    })
    audioCtx.onStop(function () {
      audioCtx.destroy()
    })
    audioCtx.onError(function () {
      console.log('播放失败:', audioCtx.src)
    })
  },
posted @ 2021-04-19 11:04  张宵  阅读(221)  评论(0编辑  收藏  举报