123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- Page({
- data: {
- fullScreenBtn: false,
- playBtn: false,
- gesture: true,
- muted: true,
- gesture: false,
- centerBtn: false,
- recordFlag: 0,
- recordSource: '',
- videoCtr: 'recordingVideoEnd',
- },
- onLoad: function (option) {
- if (option.title) {
- wx.setNavigationBarTitle({
- title: option.title //页面标题为路由参数
- })
- }
- this.recorderManager = wx.getRecorderManager();
- this.videoCtx = wx.createVideoContext('myVideo', this);
- // 监听录音部分
- // 录音开始
- this.recorderManager.onStart(() => {
- this.videoCtx.play();
- this.setData({
- recordFlag: 1
- })
- console.log('recorder start')
- })
- // 录音结束
- this.recorderManager.onStop((res) => {
- this.videoCtx.stop();
- console.log('recorder stop', res)
- console.log(res.tempFilePath)
- const recordFile = res.tempFilePath;
- this.setData({
- recordFlag: 0,
- recordSource: recordFile
- })
- })
- },
- // onShow:function(){
- // },
-
- // 录音中视频播放结束 (控制录音同时结束)
- recordingVideoEnd:function(){
- //
- if (this.data.recordFlag === 0) {
- this.recordStop();
- this.setData({
- videoCtr : 'playingVideoEnd'
- })
- }
- // 录音结束
- if (this.data.recordFlag === 1) {
- // this.recordStop();
- }
- },
- // 播放中视频播放结束 (控制录音同时结束)
- playingVideoEnd:function(){
- this.innerAudioContext.stop();
- },
- /***
- * recordFlag:
- * 0 初始状态
- * 1 录音中
- ***/
- audioRecord: function () {
- console.log(this.data.recordFlag)
- if (this.data.recordFlag === 0) {
- this.recordStart();
- }
- // 录音结束后
- if (this.data.recordFlag === 1) {
- this.recordStop();
- }
- },
- // 录音开始
- /**
- * duration: 时长 最长10分钟
- sampleRate: 44100, 采样率
- numberOfChannels: 1, 录音通道
- encodeBitRate: 192000, 码率
- format: 'mp3', 格式
- frameSize: 50 制定帧大小
- */
- recordStart: function () {
- const options = {
- duration: 600000,
- sampleRate: 44100,
- numberOfChannels: 1,
- encodeBitRate: 192000,
- format: 'mp3',
- frameSize: 50
- }
- this.recorderManager.start(options);
-
- },
- // 录音结束
- recordStop: function () {
- this.recorderManager.stop();
- },
- // 播放录音
- audioPlay: function () {
- console.log('音频播放');
- this.innerAudioContext = wx.createInnerAudioContext();
- this.innerAudioContext.onError((res) => {
- // 播放音频失败的回调
- })
- this.innerAudioContext.src = this.data.recordSource; // 这里可以是录音的临时路径
- this.videoCtx.play();
- this.innerAudioContext.play();
- },
- })
|