当前位置:   article > 正文

uni-app实现录音及播放功能_uniapp录音功能

uniapp录音功能

这里就需要用到uni.getRecorderManager()

下面这段代码运行在微信小程序上、下面这段代码运行在微信小程序上、下面这段代码运行在微信小程序上

下面这段代码最好运行到微信开发者工具后,然后真机调试,因为小程序直接调试录音会报错

  1. export default {
  2. data: {
  3. recorderManager: {},
  4. innerAudioContext: {},
  5. voicePath: ''
  6. },
  7. onLoad(options) {
  8. this.recorderManager = uni.getRecorderManager();
  9. this.innerAudioContext = uni.createInnerAudioContext();
  10. // 为了防止苹果手机静音无法播放
  11. uni.setInnerAudioOption({
  12. obeyMuteSwitch: false
  13. })
  14. this.innerAudioContext.autoplay = true;
  15. console.log("uni.getRecorderManager()",uni.getRecorderManager())
  16. let self = this;
  17. this.recorderManager.onStop(function (res) {
  18. console.log('recorder stop' + JSON.stringify(res));
  19. self.voicePath = res.tempFilePath;
  20. });
  21. },
  22. methods: {
  23. startRecord() {
  24. console.log('开始录音');
  25. this.recorderManager.start();
  26. },
  27. endRecord() {
  28. console.log('录音结束');
  29. this.recorderManager.stop();
  30. },
  31. playVoice() {
  32. console.log('播放录音');
  33. console.log('this.voicePath',this.voicePath);
  34. if (this.voicePath) {
  35. this.innerAudioContext.src = this.voicePath;
  36. this.innerAudioContext.play();
  37. }
  38. },
  39. }
  40. }

这里录音展示是使用了插件luno-audio

需要引入import luchAudio from '@/components/luch-audio/luch-audio.vue'、注册(在components内注册即可)并使用

  1. <view class="audioPlay">
  2. <button @tap="startRecord">开始录音</button>
  3. <button @tap="endRecord">停止录音</button>
  4. <button @tap="playVoice">播放录音</button>
  5. </view>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/565539
推荐阅读
相关标签
  

闽ICP备14008679号