Commit 5e4e82bd by haojie

submit

parent 599d2e2e
......@@ -37,7 +37,7 @@
<div class="home-tool-bar">
<CustomTabs v-model="currentTab" theme="dark2">
<CustomTabPanel label="数字人作品" name="1">
<MyDigtalPeople ref="myDigtalPeopleRef" :reloadNum="reloadNum"></MyDigtalPeople>
<MyDigtalPeople :reloadNum="reloadNum"></MyDigtalPeople>
</CustomTabPanel>
<CustomTabPanel label="数字人草稿" name="2"> <DigitalPeopleDraft></DigitalPeopleDraft> </CustomTabPanel>
<template #rightComponent>
......@@ -81,11 +81,10 @@ import { getDigitalPeopleList } from '@/service/Common';
import Button from '@/components/Button.vue';
import { callPyjsInWindow } from '@/utils/pyqt';
import { jumpToCreateLivePage } from '@/router/jump';
import { audioMerge } from '@/utils/audio';
const router = useRouter();
const myDigtalPeopleRef = ref(null);
// 当前tab栏
const currentTab = ref('1');
// 弹窗状态
......@@ -198,7 +197,11 @@ const getList = async () => {
onMounted(() => {
// 获取我的数字人
getList();
console.log(myDigtalPeopleRef.value);
// let list = [
// 'http://m10.music.126.net/20230811094657/2ca708dd710fd76bfaa7176ab0a52a01/ymusic/5353/0f0f/0358/d99739615f8e5153d77042092f07fd77.mp3',
// 'http://m10.music.126.net/20230811094657/2ca708dd710fd76bfaa7176ab0a52a01/ymusic/5353/0f0f/0358/d99739615f8e5153d77042092f07fd77.mp3',
// ];
// audioMerge(list);
});
</script>
......
import { alyOssUpload, getFileSuffix, show_message } from './tool';
import { v4 } from 'uuid';
import audiobufferToWav from 'audiobuffer-to-wav';
import request from '@/utils/upLoadRequest';
export const createAudioContext = () => {
return new (window.AudioContext || window.webkitAudioContext)();
};
......@@ -38,6 +37,19 @@ export async function audioMerge(filePaths) {
// 使用 Promise 依次解码和添加音频数据到 buffers 数组
await Promise.all(
filePaths.map(async (filePath) => {
// const response = await request.get(filePath, { responseType: 'blob' });
// const blob = response;
// // 获取文件类型
// const fileType = blob.type;
// console.log(fileType);
// // 将blob转换为ArrayBuffer
// const arrayBuffer = await blob.arrayBuffer();
// // 将ArrayBuffer转换为Buffer
// const audioBuffer = await audioContext.decodeAudioData(arrayBuffer);
// return audioBuffer;
const response = await request.get(filePath, { responseType: 'arraybuffer' });
const arrayBuffer = response;
......@@ -47,7 +59,6 @@ export async function audioMerge(filePaths) {
).then((decodedBuffers) => {
buffers.push(...decodedBuffers); // 将解码后的音频缓冲区按顺序添加到数组中
});
// 计算合并后的音频数据的长度
const totalDuration = buffers.reduce((accumulator, current) => accumulator + current.duration, 0);
const sampleRate = audioContext.sampleRate;
......@@ -61,19 +72,20 @@ export async function audioMerge(filePaths) {
);
let offset = 0;
// 合并音频数据
buffers.forEach((buffer, index) => {
for (let channel = 0; channel < channels; channel++) {
const sourceData = buffer.getChannelData(channel);
const targetData = mergedBuffer.getChannelData(channel);
targetData.set(sourceData, offset);
}
offset += Math.round(buffer.duration * sampleRate);
});
console.log(buffers);
console.log('zxl');
// 导出合并后的音频数据为 WAV 文件
const mergedData = exportBufferAsWav(mergedBuffer);
console.log('通过了');
const blob = new Blob([mergedData], { type: 'audio/wav' });
console.log('合并完成', blob);
return blob;
......
......@@ -225,6 +225,7 @@ export const alyOssUpload = (
if (res === '' || res == 200) {
// 外网url
const url = config.domain + config.dir + fileName + `.${getFileSuffix(item)}`;
console.log(url);
UploadSuccessCallback(fileName, url);
resolve({
status: 'success',
......
self.addEventListener('message', (event) => {
// 接收到消息后的处理逻辑
const message = event.data;
console.log('接收到消息:', message);
});
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment