From 0039c1e887fe9e20695e1375f4318d75de64deca Mon Sep 17 00:00:00 2001 From: qiang Date: Wed, 26 Jun 2019 20:52:25 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3H5=E7=AB=AF=20innerAud?= =?UTF-8?q?ioContext.src=20=E4=B8=8D=E6=94=AF=E6=8C=81=E7=9B=B8=E5=AF=B9?= =?UTF-8?q?=E8=B7=AF=E5=BE=84=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/service/api/context/inner-audio.js | 26 ++++++++++++++------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/core/service/api/context/inner-audio.js b/src/core/service/api/context/inner-audio.js index ac691cff9..24a437898 100644 --- a/src/core/service/api/context/inner-audio.js +++ b/src/core/service/api/context/inner-audio.js @@ -1,3 +1,5 @@ +import getRealPath from 'uni-platform/helpers/get-real-path' + /** * 可以批量设置的监听事件 */ @@ -25,6 +27,10 @@ class InnerAudioContext { * 事件监听 */ _events + /** + * 音频地址 + */ + _src /** * 音频上下文初始化 */ @@ -32,15 +38,19 @@ class InnerAudioContext { var audio = this._audio = new Audio() this._stoping = false // 和audio对象同名同效果的属性 - var watchers = ['src', 'autoplay', 'loop', 'duration', 'currentTime', 'paused', 'volume'] - watchers.forEach((watcher) => { - Object.defineProperty(this, watcher, { - set (val) { - audio[watcher] = val - return audio[watcher] + var propertys = ['src', 'autoplay', 'loop', 'duration', 'currentTime', 'paused', 'volume'] + propertys.forEach((property) => { + Object.defineProperty(this, property, { + set: property === 'src' ? (src) => { + audio.src = getRealPath(src) + return this._src = src + } : (val) => { + return audio[property] = val }, - get () { - return audio[watcher] + get: property === 'src' ? () => { + return this._src + } : () => { + return audio[property] } }) }) -- GitLab