首頁 >web前端 >uni-app >uniapp如何實現錄音功能

uniapp如何實現錄音功能

coldplay.xixi
coldplay.xixi原創
2020-12-09 14:44:0414486瀏覽

uniapp實現錄音功能的方法:使用函數【uni.getRecorderManager()】實現,程式碼為【methods: {startRecord() {console.log('開始錄音');this.recorderManager】。

uniapp如何實現錄音功能

本教學操作環境:windows7系統、uni-app2.5.1版本,Dell G3電腦。

uniapp實作錄音功能的方法:

這裡就需要用到uni.getRecorderManager()

export default {
data: {
recorderManager: {},
innerAudioContext: {},
},
onLoad(options) {
this.recorderManager = uni.getRecorderManager();
this.innerAudioContext = uni.createInnerAudioContext();
// 为了防止苹果手机静音无法播放
uni.setInnerAudioOption({  
obeyMuteSwitch: false  
})
this.innerAudioContext.autoplay = true;
console.log("uni.getRecorderManager()",uni.getRecorderManager())
let self = this;
this.recorderManager.onStop(function (res) {
console.log('recorder stop' + JSON.stringify(res));
self.voicePath = res.tempFilePath;
});
},
methods: {
startRecord() {
console.log('开始录音');
this.recorderManager.start();
},
endRecord() {
console.log('录音结束');
this.recorderManager.stop();
},
playVoice() {
console.log('播放录音');
console.log('this.voicePath',this.voicePath);
 
if (this.voicePath) {
this.innerAudioContext.src = this.voicePath;
this.innerAudioContext.play();
}
},
}
}

這一段是蘋果手機靜音時無法播放

uni.setInnerAudioOption({  
obeyMuteSwitch: false  
})

這裡錄音展示是使用了插件luno-audio

推薦(免費):uni-app開發教學

需要引入import luchAudio from '@/components/luch-audio/luch-audio.vue'、註冊(在components內註冊即可)並使用

<view class="audioPlay">
<button @tap="startRecord">开始录音</button>
<button @tap="endRecord">停止录音</button> 
<button @tap="playVoice">播放录音</button>
</view>
<luch-audio 
v-if="audioContent"
:src="audioContent" 
:play.sync="audioPlayNew"
></luch-audio>

添加後運行即可。

相關免費學習推薦:程式設計影片

#

以上是uniapp如何實現錄音功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn