Uniapp中同一个页面录音的弹窗录完之后点击打开另一个弹窗怎么播放
时间: 2024-09-14 18:08:47 浏览: 36
在UniApp中,为了实现在录制音频弹窗结束后,能够切换到另一个弹窗并播放录音,你可以按照以下步骤操作:
1. **设置录音功能**:首先,你需要引入`uni-app-amap-audio`插件,并使用它提供的API进行录音,例如`AMap.AUDIO.Recorder.start()`。
```javascript
import { AMap } from '@vant/amap'
AMap.use('AMap.AUDIO.Recorder')
Page({
onReady() {
this.recorder = new AMap.AUDIO.Recorder()
// 录音按钮点击事件
this.recorderButton.tap(() => {
this.recorder.start()
})
},
// 录音完成回调
onRecordingEnd() {
const audioBlob = this.recorder.getBlob()
// 存储录音blob或者上传到服务器
//...
}
})
```
2. **创建播放弹窗**:当录音结束时,调用一个新的弹窗组件,并在其中添加音频播放的逻辑。如果需要播放音频,可以使用`uni.createAudioPlayer()`创建音频播放器,并设置音频源(`audioBlob`)。
```javascript
playAudio() {
const audioPlayer = uni.createAudioPlayer({
url: 'data:audio/wav;base64,' + btoa(audioBlob),
})
audioPlayer.play()
}
```
3. **触发播放**:在上一步的回调中,比如录音完成后,调用`playAudio()`函数播放录音。
```javascript
onRecordingEnd() {
const audioBlob = this.recorder.getBlob()
//... 存储或上传 blob
this.playAudio()
}
```
阅读全文