hookehuyr

fix

<!--
* @Date: 2024-02-01 11:11:21
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2024-02-07 16:22:39
* @LastEditTime: 2024-02-07 16:47:50
* @FilePath: /my-record/src/views/h5-record.vue
* @Description: 文件描述
-->
......@@ -21,19 +21,21 @@
<audio ref="LogAudioPlayer" style="width: 100%"></audio>
</div>
<van-floating-panel>
<van-cell-group>
<van-cell title="打开录音,请求权限" icon="music-o" @click.native="recOpen" />
<van-cell title="关闭录音,释放资源" icon="close" @click.native="recClose" />
<van-cell title="录制" icon="volume-o" @click.native="recStart" />
<van-cell title="暂停" icon="pause-circle-o" @click.native="recPause" />
<van-cell title="继续录音" icon="revoke" @click.native="recResume" />
<van-cell title="停止录音" icon="stop-circle-o" @click.native="recStop" />
<van-cell title="播放录音" icon="play-circle-o" @click.native="recPlayLast" />
<!-- <van-cell title="下载录音" icon="down" @click.native="recDownLast" /> -->
<van-cell title="上传录音" icon="upgrade" @click.native="recUploadLast" />
</van-cell-group>
</van-floating-panel>
<div ref="root">
<van-floating-panel v-model:height="height" :anchors="anchors">
<van-cell-group>
<van-cell title="打开录音,请求权限" icon="music-o" @click.native="recOpen" />
<van-cell title="关闭录音,释放资源" icon="close" @click.native="recClose" />
<van-cell title="录制" icon="volume-o" @click.native="recStart" />
<van-cell title="暂停" icon="pause-circle-o" @click.native="recPause" />
<van-cell title="继续录音" icon="revoke" @click.native="recResume" />
<van-cell title="停止录音" icon="stop-circle-o" @click.native="recStop" />
<van-cell title="播放录音" icon="play-circle-o" @click.native="recPlayLast" />
<!-- <van-cell title="下载录音" icon="down" @click.native="recDownLast" /> -->
<van-cell title="上传录音" icon="upgrade" @click.native="recUploadLast" />
</van-cell-group>
</van-floating-panel>
</div>
</div>
</template>
......@@ -41,7 +43,8 @@
<script setup>
import { ref } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import { showToast } from 'vant';
import { useClickAway } from '@vant/use';
import { Cookies, $, _, axios, storeToRefs, mainStore, Toast, useTitle } from '@/utils/generatePackage.js'
//import { } from '@/utils/generateModules.js'
//import { } from '@/utils/generateIcons.js'
......@@ -60,6 +63,18 @@ const $route = useRoute();
const $router = useRouter();
useTitle($route.meta.title);
const anchors = [
// Math.round(0.2 * window.innerHeight),
150,
Math.round(0.7 * window.innerHeight),
];
const height = ref(anchors[0]);
const root = ref();
useClickAway(root, () => {
console.log('click outside!');
height.value = anchors[0];
});
const type = ref("mp3"); // 音频类型
const bitRate = ref(32); // 比特率
const sampleRate = ref(32000); // 采样率
......@@ -67,7 +82,7 @@ const duration = ref(0);
const durationTxt = ref("0");
const powerLevel = ref(0);
const logs = ref([]);
const recLogLast = ref({});
const recLogLast = ref(null);
const LogAudioPlayer = ref(null);
const rec = ref(null); // 录音控件实例
......@@ -108,6 +123,8 @@ const reclog = (msg, color, res) => {
recLogLast.value = obj;
}
logs.value.splice(0, 0, obj);
//
showToast(msg);
}
/**
......@@ -230,6 +247,11 @@ const recPlay = (idx) => {
* 播放录音
*/
const recPlayLast = () => {
if (!(rec.value && Recorder.IsOpen())) {
reclog("未打开录音", 1);
return;
}
console.warn(recLogLast.value);
if (!recLogLast.value) {
reclog("请先录音,然后停止后再播放", 1);
return;
......