From 67d769a8eb3d2faca6a4c1a7a9366d3c4c3833f9 Mon Sep 17 00:00:00 2001 From: zmt Date: Wed, 7 Jul 2021 19:06:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BA=A4=E4=BA=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/pages/audio_manage/audio_manage.vue | 62 ++++++++++++++------- src/subpackage/device/static/images/i_voice_4.png | Bin 0 -> 2981 bytes 2 files changed, 42 insertions(+), 20 deletions(-) create mode 100644 src/subpackage/device/static/images/i_voice_4.png diff --git a/src/subpackage/device/pages/audio_manage/audio_manage.vue b/src/subpackage/device/pages/audio_manage/audio_manage.vue index aec4a80..26c3939 100644 --- a/src/subpackage/device/pages/audio_manage/audio_manage.vue +++ b/src/subpackage/device/pages/audio_manage/audio_manage.vue @@ -64,9 +64,9 @@ - 请说话 + {{getVoiceTxt(voicePadConfig.step)}} + :class="voicePadConfig.step==2||voicePadConfig.step==4?'voice_img_playing':''"> 按住说话 @@ -121,6 +121,11 @@ return i => { return `../../static/images/i_voice_${i}.png` } + }, + getVoiceTxt() { + return i => { + return [,'请按住说话','录音中...','录音已完成','播放中...'][i] + } }, }, @@ -139,7 +144,7 @@ deviceList: [], voicePadConfig: { showVoicePad: false, - step: 1, // 0,文字转语音 1 未录音, 2 录音中, 3 录音结束 + step: 1, // 0 文字转语音, 1 未录音, 2 录音中, 3 录音结束, 4 播放录音中, txt: "", voicePath: "", voiceUrl: "", @@ -147,24 +152,38 @@ } }, onLoad(options) { - let self = this; - recorderManager.onStop(function(res) { - console.log('recorder stop' + JSON.stringify(res)); - self.voicePadConfig.voicePath = res.tempFilePath; - }); - - let _pageInfo = showArr[`s${options.sid}`] || {}; - this.pageInfo = _pageInfo; - uni.setNavigationBarTitle({ - title: _pageInfo.name - }); - - this.getDeviceList({ - stadium_id: this.curStoreInfo.id, - hardware_type: _pageInfo.hardware_type - }) + this.initAudio(); + this.initPage(options); }, - methods: { + methods: { + //初始化音频 + initAudio(){ + let self = this; + recorderManager.onStop(function(res) { + console.log('recorder stop' + JSON.stringify(res)); + self.voicePadConfig.voicePath = res.tempFilePath; + }); + innerAudioContext.onPlay(function(res) { + console.log('play voice onPlay' + JSON.stringify(res)); + if(self.voicePadConfig.step==3)self.voicePadConfig.step = 4 + }); + innerAudioContext.onEnded(function(res) { + console.log('play voice onEnded' + JSON.stringify(res)); + if(self.voicePadConfig.step == 4)self.voicePadConfig.step = 3 + }); + }, + initPage(options){ + let _pageInfo = showArr[`s${options.sid}`] || {}; + this.pageInfo = _pageInfo; + uni.setNavigationBarTitle({ + title: _pageInfo.name + }); + + this.getDeviceList({ + stadium_id: this.curStoreInfo.id, + hardware_type: _pageInfo.hardware_type + }) + }, longPressHandle(e) { console.log("长按开始..."); this.voicePadConfig.step = 2 @@ -203,6 +222,7 @@ let _url = ""; //需上传给后台的语音地址 if(this.voicePadConfig.step==0){ let txt = this.voicePadConfig.txt + if(!txt)return util.showNone("请先输入您要说的话后重试") _url = `${deviceApi.ORIGIN}/ouxuanac/tts/textToVoice.wav?text=${txt}&voice_type=4&speed=-1&volume=10`; } //已录音 @@ -242,9 +262,11 @@ }, //试听/播放 语音/录音 async listenVoice() { + let self = this if(this.voicePadConfig.step==0){ //需要将语音下载到本地,然后播放 let txt = this.voicePadConfig.txt; + if(!txt)return util.showNone("请先输入您要说的话后重试") let url =`${deviceApi.ORIGIN}/ouxuanac/tts/textToVoice.wav?text=${txt}&voice_type=4&speed=-1&volume=10`; let updated_url = await this.getDownloadUrl(url) innerAudioContext.src = updated_url diff --git a/src/subpackage/device/static/images/i_voice_4.png b/src/subpackage/device/static/images/i_voice_4.png new file mode 100644 index 0000000000000000000000000000000000000000..fce66a637fa29e0d9d49d176205c377bc730c642 GIT binary patch literal 2981 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 b=2!ba6bggyXQxkq00000NkvXXu0mjfb^y8Z literal 0 HcmV?d00001