| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- const { PrismaClient } = require('@prisma/client');
- const prisma = new PrismaClient();
- async function verifyNewAudio() {
- console.log('\n✅ 验证新生成的音频\n');
- console.log('=' .repeat(60));
-
- const bookId = 5;
- const chapterId = 1214;
-
- const chapter = await prisma.bookChapter.findUnique({
- where: { id: chapterId },
- select: {
- id: true,
- title: true,
- audioUrl: true,
- audioDuration: true,
- }
- });
-
- console.log(`章节: ${chapter.title}`);
- console.log(`ID: ${chapter.id}`);
- console.log(`audioUrl: ${chapter.audioUrl || '无'}`);
- console.log(`audioDuration: ${chapter.audioDuration || 0}秒\n`);
-
- // 检查文件
- const fs = require('fs');
- const path = require('path');
-
- const uuid = chapter.audioUrl.match(/\/uploads\/([^\/]+)\//)?.[1];
- if (uuid) {
- const outputPath = path.join(__dirname, 'uploads', uuid, 'output.mp3');
- const segmentPath = path.join(__dirname, 'uploads', uuid, 'segment_0.mp3');
-
- console.log('📁 文件检查:\n');
- console.log(`output.mp3: ${fs.existsSync(outputPath) ? '✅ 存在' : '❌ 不存在'}`);
- console.log(`segment_0.mp3: ${fs.existsSync(segmentPath) ? '✅ 存在' : '❌ 不存在'}\n`);
-
- if (fs.existsSync(outputPath)) {
- const stats = fs.statSync(outputPath);
- console.log(`output.mp3 大小: ${(stats.size / 1024).toFixed(2)} KB\n`);
- }
-
- console.log('=' .repeat(60));
- console.log('\n📋 验证结论:\n');
-
- if (chapter.audioUrl?.includes('output.mp3') && fs.existsSync(outputPath)) {
- console.log('✅✅✅ 完美!\n');
- console.log(' 1. 音频URL使用output.mp3 ✅');
- console.log(' 2. 文件output.mp3存在 ✅');
- console.log(' 3. 代码修复已生效 ✅\n');
- console.log('前端访问:');
- console.log(` http://localhost:5173/#/pages/player/index?id=${chapterId}\n`);
- } else {
- console.log('❌ 验证失败\n');
- }
- }
-
- await prisma.$disconnect();
- }
- verifyNewAudio().catch(console.error);
|