您的位置:首页 > 文旅 > 美景 > 微信小程序写一个录音机

微信小程序写一个录音机

2024/12/23 11:17:28 来源:https://blog.csdn.net/xj1216wt/article/details/139595187  浏览:    关键词:微信小程序写一个录音机

微信小程序写一个录音机

代码:
wxml:

<view class="container"><view class="duration">{{duration}}</view><button bindtap="startRecord" class="btn">开始录音</button><button bindtap="stopRecord" class="btn">停止录音</button><button bindtap="playRecord" class="btn">播放录音</button>
</view>
<audio id="audio" src="{{recordPath}}" controls></audio>

wxss:

.container {display: flex;flex-direction: column;align-items: center;justify-content: center;height: 84vh;
}.btn {margin: 10px;padding: 10px 20px;background-color: #4CAF50;color: white;border: none;border-radius: 5px;
}.duration {margin-top: -50px;font-size: 24px;
}

js:

let timer = null;
Page({data: {isRecording: false,recordPath: '',duration: '00:00'},startRecord: function() {const recorderManager = wx.getRecorderManager();this.setData({isRecording: true,duration: '00:00'});let startTime = new Date().getTime();timer = setInterval(() => {let currentTime = new Date().getTime();let diff = currentTime - startTime;let m = Math.floor(diff / 60000 % 60);let s = Math.floor(diff / 1000 % 60);this.setData({duration: `${this.formatTime(m)}:${this.formatTime(s)}`});}, 1000);recorderManager.start({format: 'mp3'});recorderManager.onStart(() => {console.log('recorder start');});recorderManager.onStop((res) => {console.log('recorder stop', res);this.setData({recordPath: res.tempFilePath,isRecording: false});});},stopRecord: function() {const recorderManager = wx.getRecorderManager();clearInterval(timer);recorderManager.stop();},playRecord: function() {this.setData({// isRecording: true,duration: '录音播放'});const audioCtx = wx.createInnerAudioContext();audioCtx.src = this.data.recordPath;audioCtx.play();},formatTime: function(time) {return time < 10 ? `0${time}` : time;}
});

json:

{"usingComponents": {},"navigationBarTitleText": "录音机"
}

以上就是实现一个录音机的小程序!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com