ZZJ
2022-02-11 d365829b14ca4256d39694b9cdcd43bad0ad8595
src/components/wasmPlayer/wasm/player.js
@@ -16,6 +16,12 @@
  this.webglPlayer = null
  this.trackTimer = null
  this.loop = false
  this.preload = true
  this.preloadFlag = 0
  this.statusCallback = (stat) => {
    console.log(stat)
  }
}
Player.prototype.play = function(
@@ -39,9 +45,6 @@
  var This = this
  this.timeTrack.oninput = function() {
    This.seek(This.timeTrack.value)
  }
  this.timeTrack.onchange = function() {
    This.seek(This.timeTrack.value)
  }
@@ -72,6 +75,8 @@
          )
        }
        This.startTrackTimer()
        This.statusCallback(0)
        break
      }
      case 'create_audio': {
@@ -82,9 +87,17 @@
          sampleRate: This.AudioParam.sample_rate,
          flushingTime: 5000,
        })
        This.statusCallback(1)
        break
      }
      case 'deliver_video': {
        if (!This.isStream && This.preload && This.preloadFlag == 0) {
          This.preloadFlag = 1
          This.pause()
          This.statusCallback(0)
        }
        //sample:{time_stamp:xxx,data:xxx}
        This.CurPos = evt.data.sample.time_stamp
        This.webglPlayer.renderFrame(
@@ -99,6 +112,18 @@
        This.pcmPlayer.play(evt.data.sample.buf)
        break
      }
      case 'play_failed': {
        This.statusCallback(-1)
        This.stop()
        break
      }
      case 'play_end': {
        if (This.loop) {
          This.seek(0)
        }
        break
      }
      default:
        return
    }
@@ -148,6 +173,11 @@
  if (this.webglPlayer) this.webglPlayer.fullscreen()
}
Player.prototype.exitfullscreen = function() {
  if (this.webglPlayer) this.webglPlayer.exitfullscreen()
}
Player.prototype.startTrackTimer = function() {
  var This = this
  this.trackTimer = setInterval(function() {