diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index 26b55e7..fd6daf9 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -3,7 +3,7 @@ run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 on: push: branches: - - 'demo-t*' + - 'female-dt-2' env: BUILD: staging @@ -30,15 +30,15 @@ jobs: uses: https://gitea.yantootech.com/neil/build-push-action@v6 with: push: false - tags: emotion-digital-video:${{ gitea.run_id }} + tags: emotion-female-digital-video:${{ gitea.run_id }} - name: Run docker run: | pwd - if [ "$(docker ps -q -f name=^emotion-digital-video$)" ]; then - docker stop emotion-digital-video + if [ "$(docker ps -q -f name=^emotion-female-digital-video$)" ]; then + docker stop emotion-female-digital-video fi - docker run -d --rm --name emotion-digital-video \ + docker run -d --rm --name emotion-female-digital-video \ -v /usr/share/fonts/opentype/noto:/usr/share/fonts \ - -p 6900:3000 \ - emotion-digital-video:${{ gitea.run_id }} + -p 6901:3000 \ + emotion-female-digital-video:${{ gitea.run_id }} - run: echo "🍏 This job's status is ${{ job.status }}." \ No newline at end of file diff --git a/server.js b/server.js index 3b9b3ad..1f84b23 100644 --- a/server.js +++ b/server.js @@ -91,24 +91,24 @@ let currentSceneIndex = 0; const scenes = [ { name: '起床', - defaultVideo: '8-4-bd-2.mp4', - interactionVideo: '8-4-sh.mp4', + defaultVideo: '8-5-qc-bd-female.mp4', + interactionVideo: '8-5-qc-sh-female.mp4', tag: 'wakeup', - apiKey: 'bot-20250724150616-xqpz8' // 起床场景的API key + apiKey: 'bot-20250730213756-l627w' // 起床场景的API key }, { - name: '开车', - defaultVideo: '8-5-kc-bd.mp4', - interactionVideo: '8-5-kc-sh.mp4', + name: '走路', + defaultVideo: '8-5-sb-bd-female.mp4', + interactionVideo: '8-5-sb-sh-female.mp4', tag: 'driving', - apiKey: 'bot-20250623140339-r8f8b' // 开车场景的API key + apiKey: 'bot-20250703161810-sgkrh' // 开车场景的API key }, { name: '喝茶', - defaultVideo: '8-4-hc-bd.mp4', - interactionVideo: '8-4-hc-sh.mp4', + defaultVideo: '8-5-hc-bd-female.mp4', + interactionVideo: '8-5-hc-sh-female.mp4', tag: 'tea', - apiKey: 'bot-20250804180724-4dgtk' // 喝茶场景的API key + apiKey: 'bot-20250805140055-ccdr6' // 喝茶场景的API key } ]; diff --git a/src/config.js b/src/config.js index 8aead23..f111e1c 100644 --- a/src/config.js +++ b/src/config.js @@ -3,7 +3,7 @@ export const config = { // LLM API配置 llm: { apiKey: 'd012651b-a65b-4b13-8ff3-cc4ff3a29783', // 请替换为实际的API密钥 - model: 'bot-20250724150616-xqpz8', + model: 'bot-20250730213756-l627w', }, // Minimaxi API配置 @@ -16,7 +16,7 @@ export const config = { audio: { model: 'speech-02-hd', voiceSetting: { - voice_id: 'yantu-qinggang-demo2-male-4', + voice_id: 'yantu-qinggang-3', speed: 1, vol: 1, pitch: 0, @@ -110,4 +110,4 @@ export function getAudioConfig() { audioSetting: config.audio.audioSetting, ...config.system, }; -} \ No newline at end of file +} diff --git a/src/index.html b/src/index.html index ad30c66..1835904 100644 --- a/src/index.html +++ b/src/index.html @@ -333,6 +333,77 @@ opacity: 0.5; cursor: not-allowed; } + + /* 头像样式 - 确保显示 */ + .avatar-container { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + z-index: 15; /* 提高z-index确保在视频上方 */ + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + transition: opacity 0.3s ease; + opacity: 1; /* 确保默认显示 */ + } + + .avatar-container.hidden { + opacity: 0; + pointer-events: none; + } + + .avatar { + width: 120px; + height: 120px; + border-radius: 50%; + border: 4px solid rgba(255, 255, 255, 0.8); + box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2); + background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); + display: flex; + align-items: center; + justify-content: center; + color: white; + font-size: 48px; + font-weight: bold; + overflow: hidden; /* 确保图片不会溢出 */ + } + + .avatar img { + width: 100%; + height: 100%; + border-radius: 50%; + object-fit: cover; + display: block; /* 确保图片显示 */ + } + + /* 确保视频默认隐藏 */ + #recordedVideo, #recordedVideoBuffer { + position: absolute; + width: 56.25vh; + height: 100vh; + object-fit: cover; + border-radius: 0; + box-shadow: none; + transition: opacity 0.5s ease-in-out; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + opacity: 0; /* 默认隐藏视频 */ + z-index: 1; /* 确保在头像下方 */ + } + + /* 通话时隐藏头像,显示视频 */ + .video-container.calling .avatar-container { + opacity: 0; + pointer-events: none; + } + + .video-container.calling #recordedVideo { + opacity: 1; + z-index: 10; + }
@@ -353,7 +424,16 @@
+