1、录制声音上传
通过tt.getRecorderManager录制声音然后调用tt.uploadFile上传到后端即可。
var DEFAULT_COUNT_DOWN = 60000; var cdtimer; Page({ data: { cd: DEFAULT_COUNT_DOWN, isRecording: false, isPaused: false, recordOption: { duration: DEFAULT_COUNT_DOWN, sampleRate: 16000, encodeBitRate: 48000, numberOfChannels: 2, format: 'aac', frameSize: 100 }, recordFilePath: '' }, startCountDown() { this.setData({ cd: DEFAULT_COUNT_DOWN }); clearInterval(cdtimer); cdtimer = setInterval(() => { this.setData({ cd: this.data.cd - 100 }); }, 100); }, pauseCountDown() { clearInterval(cdtimer); }, continueCountDown() { clearInterval(cdtimer); cdtimer = setInterval(() => { this.setData({ cd: this.data.cd - 100 }); }, 100); }, stopCountDown() { clearInterval(cdtimer); this.setData({ cd: DEFAULT_COUNT_DOWN }); }, onLoad: function(options) { this.recorderManager = tt.getRecorderManager(); this.recorderManager.onStart(() => { this.setData({ isRecording: true, recordFilePath: '', isPaused: false }); this.startCountDown(); }); this.recorderManager.onResume(() => { this.setData({ isRecording: true, isPaused: false }); this.continueCountDown(); }); this.recorderManager.onPause(() => { this.setData({ isRecording: false, isPaused: true }); this.pauseCountDown(); }); this.recorderManager.onStop(({ tempFilePath }) => { this.setData({ isRecording: false, isPaused: false, recordFilePath: tempFilePath }); this.stopCountDown(); tt.showToast({ title: '录音结束' }); }); this.recorderManager.onFrameRecorded(({ frameBuffer, isLastFrame }) => {}); this.recorderManager.onError(err => { console.error(err); }); }, onUnload: function() { this.stop(); clearInterval(cdtimer); }, start() { if (this.data.isRecording) { tt.showToast({ title: '正在录音' }); } else { this.recorderManager.start(this.data.recordOption); } }, pauseorresume() { if (this.data.isPaused) { this.recorderManager.resume(); } else { this.recorderManager.pause(); } }, stop() { this.recorderManager.stop(); } });
参考:https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/api/media/record/tt-get-recorder-managerhttps://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/api/network/http/tt-upload-file/
2、抖音小程序选择声音文件上传
这个需要用到webview打开h5上传文件页面,最后回调通知抖音小程序了。
参考这个:https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/tutorial/basic-ability/web-view-component
网友回复