From dff9fb32c1bac52d378a6d196f670b92610c01d3 Mon Sep 17 00:00:00 2001 From: ZZJ <zzjdsg2300@163.com> Date: 星期四, 16 十二月 2021 17:21:49 +0800 Subject: [PATCH] 自适应2 --- src/components/wasmPlayer/wasm/player.js | 36 +++++++++++++++++++++++++++++++++--- 1 files changed, 33 insertions(+), 3 deletions(-) diff --git a/src/components/wasmPlayer/wasm/player.js b/src/components/wasmPlayer/wasm/player.js index 4ac8f26..307117f 100644 --- a/src/components/wasmPlayer/wasm/player.js +++ b/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() { -- Gitblit v1.8.0