From e50dcf587b96f2abfe22f3450f4107f6034220a6 Mon Sep 17 00:00:00 2001 From: jianbo Date: Wed, 29 Dec 2021 15:34:59 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E9=9F=B3=E9=A2=91=E6=92=AD?= =?UTF-8?q?=E6=94=BE=EF=BC=8C=E9=87=87=E7=94=A8=E8=83=8C=E6=99=AF=E6=92=AD?= =?UTF-8?q?=E6=94=BE=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.json | 4 ++++ components/mp-html/audio/audio.js | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app.json b/app.json index fd7fb2f..07d07db 100644 --- a/app.json +++ b/app.json @@ -49,6 +49,10 @@ } ] }, + "requiredBackgroundModes": [ + "audio", + "location" + ], "networkTimeout": { "request": 10000, "connectSocket": 10000, diff --git a/components/mp-html/audio/audio.js b/components/mp-html/audio/audio.js index 16c0c20..de816d7 100644 --- a/components/mp-html/audio/audio.js +++ b/components/mp-html/audio/audio.js @@ -1 +1 @@ -"use strict";var t=require("./context");Component({data:{time:"00:00"},properties:{name:String,author:String,poster:String,autoplay:Boolean,controls:Boolean,loop:Boolean,src:{type:String,observer:function(t){this.setSrc(t)}}},created:function(){var t=this;this._ctx=wx.createInnerAudioContext(),wx.setInnerAudioOption({obeyMuteSwitch:!1}),this._ctx.onError(function(i){t.setData({error:!0}),t.triggerEvent("error",i)}),this._ctx.onTimeUpdate(function(){var i=t._ctx.currentTime,e=parseInt(i/60),s=Math.ceil(i%60),a={};a.time=(e>9?e:"0"+e)+":"+(s>9?s:"0"+s),t.lastTime||(a.value=i/t._ctx.duration*100),t.setData(a)}),this._ctx.onEnded(function(){t.data.loop||t.setData({playing:!1})})},attached:function(){t.set(this.id,this)},detached:function(){this._ctx.destroy(),t.remove(this.data.audioId)},pageLifetimes:{show:function(){this.data.playing&&this._ctx.paused&&this._ctx.play()}},methods:{setSrc:function(t){this._ctx.autoplay=this.data.autoplay,this._ctx.loop=this.data.loop,this._ctx.src=t,this.data.autoplay&&!this.data.playing&&this.setData({playing:!0})},play:function(){this._ctx.play(),this.setData({playing:!0}),this.triggerEvent("play")},pause:function(){this._ctx.pause(),this.setData({playing:!1}),this.triggerEvent("pause")},stop:function(){this._ctx.stop(),this.setData({playing:!1,time:"00:00"}),this.triggerEvent("stop")},seek:function(t){this._ctx.seek(t)},_seeking:function(t){if(!(t.timeStamp-this.lastTime<200)){var i=Math.round(t.detail.value/100*this._ctx.duration),e=parseInt(i/60),s=i%60;this.setData({time:(e>9?e:"0"+e)+":"+(s>9?s:"0"+s)}),this.lastTime=t.timeStamp}},_seeked:function(t){this._ctx.seek(t.detail.value/100*this._ctx.duration),this.lastTime=void 0}}}); \ No newline at end of file +"use strict";var t=require("./context");Component({data:{time:"00:00"},properties:{name:String,author:String,poster:String,autoplay:Boolean,controls:Boolean,loop:Boolean,src:{type:String,observer:function(t){this.setSrc(t)}}},created:function(){var t=this;this._ctx=wx.getBackgroundAudioManager(),wx.setInnerAudioOption({obeyMuteSwitch:!1}),this._ctx.onError(function(i){t.setData({error:!0}),t.triggerEvent("error",i)}),this._ctx.onTimeUpdate(function(){var i=t._ctx.currentTime,e=parseInt(i/60),s=Math.ceil(i%60),a={};a.time=(e>9?e:"0"+e)+":"+(s>9?s:"0"+s),t.lastTime||(a.value=i/t._ctx.duration*100),t.setData(a)}),this._ctx.onEnded(function(){t.data.loop||t.setData({playing:!1,time:"00:00"})}),this._ctx.onStop(function(){t.setData({playing:!1,time:"00:00"}),t.triggerEvent("stop")})},attached:function(){t.set(this.id,this)},detached:function(){this._ctx&&(this.setData({playing:!1,time:"00:00"}),this._ctx.stop()),t.remove(this.data.audioId)},pageLifetimes:{show:function(){this.data.playing&&this._ctx.paused&&this._ctx.play()}},methods:{setSrc:function(t){this._ctx.autoplay=this.data.autoplay,this._ctx.loop=this.data.loop,this.data.autoplay&&!this.data.playing&&this.setData({playing:!0})},play:function(){"00:00"==this.data.time?(this._ctx.src=this.data.src,this._ctx.title=this.data.name||"音频",this._ctx.singer=this.data.author):this._ctx.play(),this.setData({playing:!0}),this.triggerEvent("play")},pause:function(){this._ctx.pause(),this.setData({playing:!1}),this.triggerEvent("pause")},stop:function(){this._ctx.stop(),this.setData({playing:!1,time:"00:00"}),this.triggerEvent("stop")},seek:function(t){this._ctx.seek(t)},_seeking:function(t){if(!(t.timeStamp-this.lastTime<200)){var i=Math.round(t.detail.value/100*this._ctx.duration),e=parseInt(i/60),s=i%60;this.setData({time:(e>9?e:"0"+e)+":"+(s>9?s:"0"+s)}),this.lastTime=t.timeStamp}},_seeked:function(t){this._ctx.seek(t.detail.value/100*this._ctx.duration),this.lastTime=void 0}}}); \ No newline at end of file -- GitLab