小程序模板网

微信小程序--录制音频,播放音频

1.在pages创建一个main文件夹 
2.在main文件夹下创建一个miain.js文件。 
添加代码:

 

				
  1. const constant = require('../../utils/constant.js')
  2. const app = getApp()
  3. const recorderManager = wx.getRecorderManager()
  4. const innerAudioContext = wx.createInnerAudioContext()
  5.  
  6. Page({
  7. data:{
  8. money:"0.00",
  9. userInfo: {},
  10. hasUserInfo: false,
  11. canIUse: wx.canIUse('button.open-type.getUserInfo'),
  12. },
  13. onLoad: function () {
  14. if (app.globalData.userInfo) {
  15. this.setData({
  16. userInfo: app.globalData.userInfo,
  17. hasUserInfo: true
  18. })
  19. } else if (this.data.canIUse){
  20. // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
  21. // 所以此处加入 callback 以防止这种情况
  22. app.userInfoReadyCallback = res => {
  23.  
  24. this.setData({
  25. userInfo: res.userInfo,
  26. hasUserInfo: true
  27. })
  28. }
  29. } else {
  30. // 在没有 open-type=getUserInfo 版本的兼容处理
  31. wx.getUserInfo({
  32. success: res => {
  33. app.globalData.userInfo = res.userInfo
  34. this.setData({
  35. userInfo: res.userInfo,
  36. hasUserInfo: true
  37. })
  38. }
  39. })
  40. }
  41. },
  42. getlocat:function(){
  43. wx.authorize({
  44. scope: 'scope.record',
  45. success() {
  46. // 用户已经同意小程序使用录音功能,后续调用 wx.startRecord 接口不会弹窗询问
  47. const options = {
  48. duration: 600000,
  49. sampleRate: 44100,
  50. numberOfChannels: 1,
  51. encodeBitRate: 192000,
  52. format: 'mp3',
  53. frameSize: 50
  54. }
  55.  
  56.  
  57. recorderManager.start(options)
  58.  
  59. recorderManager.onStart(() => {
  60. console.log('recorder start')
  61. })
  62. recorderManager.onError((res) => {
  63. console.log(res);
  64. })
  65. }
  66. })
  67. // console.log(app)
  68. },
  69.  
  70. strop:function(){
  71. recorderManager.stop()
  72. recorderManager.onStop((res) => {
  73. console.log('recorder stop', res)
  74. const { tempFilePath } = res
  75. console.log(tempFilePath)
  76. this.tempFilePath = tempFilePath
  77. })
  78. },
  79. //播放声音
  80. play: function () {
  81. innerAudioContext.autoplay = true
  82. innerAudioContext.src = this.tempFilePath;
  83. innerAudioContext.onPlay(() => {
  84. console.log('开始播放')
  85. })
  86. innerAudioContext.onError((res) => {
  87. console.log(res.errMsg)
  88. console.log(res.errCode)
  89. })
  90.  
  91. },
  92. })

3.新建一个main.wxml文件  添加代码如下

 

				
  1. <view>
  2. <button bindtap='getlocat'>测试</button>
  3. <button bindtap='strop'>测sss试</button>
  4. <button bindtap="play" >播放录音</button>
  5. </view>


易优小程序(企业版)+灵活api+前后代码开源 码云仓库:starfork
本文地址:https://www.eyoucms.com/wxmini/doc/course/24255.html 复制链接 如需定制请联系易优客服咨询:800182392 点击咨询
QQ在线咨询