1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- import UNI_APP from '@/.env.js';
- const rc = uni.getRecorderManager();
- // 录音开始时间
- let startTime = null;
- let start = () => {
- return new Promise((resolve, reject) => {
- rc.onStart(() => {
- startTime = new Date();
- resolve()
- });
- rc.onError((e) => {
- console.log(e);
- reject(e)
- })
- rc.start({
- format: 'mp3' // 录音格式,可选值:aac/mp3
- });
- })
- }
- let pause = () => {
- rc.stop();
- }
- let close = () => {
- rc.stop();
- }
- let upload = () => {
- return new Promise((resolve, reject) => {
- rc.onStop((wavFile, a, b) => {
- uni.uploadFile({
- url: UNI_APP.BASE_URL + '/file/upload',
- header: {
- accessToken: uni.getStorageSync("loginInfo").accessToken
- },
- filePath: wavFile.tempFilePath,
- name: 'file',
- success: (res) => {
- const duration = (new Date().getTime() - startTime.getTime()) / 1000
- const data = {
- duration: Math.round(duration),
- url: JSON.parse(res.data).data
- }
- resolve(data);
- },
- fail: (e) => {
- reject(e);
- }
- })
- });
- })
- }
- export {
- start,
- pause,
- close,
- upload
- }
|