diff --git a/server.js b/server.js index d40aa98..68de804 100644 --- a/server.js +++ b/server.js @@ -88,15 +88,15 @@ const connectedClients = new Map(); // 视频映射配置 const videoMapping = { // 'say-6s-m-e': '1-m.mp4', - 'default': 'bd-1.mp4', + 'default': 'chane.mp4', // 'say-5s-amplitude': '2.mp4', // 'say-5s-m-e': '4.mp4', - 'say-5s-m-sw': 'd-0.mp4', + // 'say-5s-m-sw': 'd-0.mp4', // 'say-3s-m-sw': '6.mp4', }; // 默认视频流配置 -const DEFAULT_VIDEO = 'bd-1.mp4'; +const DEFAULT_VIDEO = 'chang.mp4'; const INTERACTION_TIMEOUT = 10000; // 10秒后回到默认视频 // 获取视频列表 diff --git a/src/config.js b/src/config.js index 5758ed7..e4e1d01 100644 --- a/src/config.js +++ b/src/config.js @@ -16,7 +16,7 @@ export const config = { audio: { model: 'speech-02-hd', voiceSetting: { - voice_id: 'yantu-qinggang-3', + voice_id: 'yantu-qinggang-demo2-male-4', speed: 1, vol: 1, pitch: 0, diff --git a/src/index.js b/src/index.js index 13a423e..c280051 100644 --- a/src/index.js +++ b/src/index.js @@ -19,7 +19,7 @@ class WebRTCChat { this.mediaRecorder = null; this.audioChunks = []; this.videoMapping = {}; - this.defaultVideo = 'bd-1.mp4'; + this.defaultVideo = 'chang.mp4'; this.currentVideoTag = 'default'; this.currentVideo = null; this.videoStreams = new Map(); // 存储不同视频的MediaStream @@ -429,7 +429,7 @@ class WebRTCChat { // 在应用初始化时预加载常用视频 async preloadCommonVideos() { // 获取所有可能需要的视频 - const videosToPreload = new Set(['bd-1.mp4']); + const videosToPreload = new Set(['chang.mp4']); // 添加视频映射中的所有视频 // Object.values(this.videoMapping).forEach(video => { @@ -437,7 +437,7 @@ class WebRTCChat { // }); // 特别确保添加了5.mp4(从日志看这是常用视频) - videosToPreload.add('d-0.mp4'); + // videosToPreload.add('d-0.mp4'); // 并行预加载,提高效率 const preloadPromises = Array.from(videosToPreload).map(async (videoFile) => { diff --git a/src/minimaxi_stream.js b/src/minimaxi_stream.js index 047672e..68cc3bb 100644 --- a/src/minimaxi_stream.js +++ b/src/minimaxi_stream.js @@ -68,16 +68,16 @@ async function processAudioQueue() { const sayName = 'say-5s-m-sw' const targetVideo = 'd-0.mp4' // 如果是第一个音频片段,触发视频切换 - if (isFirstChunk && sayName != window.webrtcApp.currentVideoTag && window.webrtcApp && window.webrtcApp.switchVideoWithReplaceTrack) { - try { - console.log('--------------触发视频切换:', sayName); - window.webrtcApp.switchVideoWithReplaceTrack(targetVideo, 'audio', 'say-5s-m-sw'); - isFirstChunk = false; - window.webrtcApp.currentVideoTag = sayName; - } catch (error) { - console.error('视频切换失败:', error); - } - } + // if (isFirstChunk && sayName != window.webrtcApp.currentVideoTag && window.webrtcApp && window.webrtcApp.switchVideoWithReplaceTrack) { + // try { + // console.log('--------------触发视频切换:', sayName); + // window.webrtcApp.switchVideoWithReplaceTrack(targetVideo, 'audio', 'say-5s-m-sw'); + // isFirstChunk = false; + // window.webrtcApp.currentVideoTag = sayName; + // } catch (error) { + // console.error('视频切换失败:', error); + // } + // } await playAudioData(audioItem.audioData); } else { // 等待一小段时间再检查 @@ -89,11 +89,11 @@ async function processAudioQueue() { const text = 'default' // await new Promise(resolve => setTimeout(resolve, 500)); console.log("音频结束------------------------:", window.webrtcApp.currentVideoTag, isPlaying) - if (window.webrtcApp.currentVideoTag != text) { - isFirstChunk = true - window.webrtcApp.currentVideoTag = text - window.webrtcApp.switchVideoWithReplaceTrack(window.webrtcApp.defaultVideo, 'audio', text); - } + // if (window.webrtcApp.currentVideoTag != text) { + // isFirstChunk = true + // window.webrtcApp.currentVideoTag = text + // window.webrtcApp.switchVideoWithReplaceTrack(window.webrtcApp.defaultVideo, 'audio', text); + // } console.log('音频队列处理完成'); } diff --git a/videos/chang.mp4 b/videos/chang.mp4 new file mode 100644 index 0000000..94cfa5c Binary files /dev/null and b/videos/chang.mp4 differ