refactor: remove guess silk duration

This commit is contained in:
linyuchen 2024-03-23 21:12:43 +08:00
parent 48d62be2d6
commit 5a0dbdb5ce

View File

@ -11,7 +11,6 @@ import {getConfigUtil} from "../config";
import {dbUtil} from "../db"; import {dbUtil} from "../db";
import * as fileType from "file-type"; import * as fileType from "file-type";
import {net} from "electron"; import {net} from "electron";
import config from "../../../electron.vite.config";
export function isGIF(path: string) { export function isGIF(path: string) {
@ -100,14 +99,14 @@ export async function encodeSilk(filePath: string) {
return duration return duration
} }
function verifyDuration(oriDuration: number, guessDuration: number) { // function verifyDuration(oriDuration: number, guessDuration: number) {
// 单位都是秒 // // 单位都是秒
if (oriDuration - guessDuration > 10) { // if (oriDuration - guessDuration > 10) {
return guessDuration // return guessDuration
} // }
oriDuration = Math.max(1, oriDuration) // oriDuration = Math.max(1, oriDuration)
return oriDuration // return oriDuration
} // }
// async function getAudioSampleRate(filePath: string) { // async function getAudioSampleRate(filePath: string) {
// try { // try {
// const mm = await import('music-metadata'); // const mm = await import('music-metadata');
@ -169,14 +168,14 @@ export async function encodeSilk(filePath: string) {
return { return {
converted: true, converted: true,
path: pttPath, path: pttPath,
duration: verifyDuration(silk.duration / 1000, gDuration), duration: silk.duration / 1000
}; };
} else { } else {
const silk = fs.readFileSync(filePath); const silk = fs.readFileSync(filePath);
let duration = 0; let duration = 0;
const gDuration = await guessDuration(filePath) const gDuration = await guessDuration(filePath)
try { try {
duration = verifyDuration(getDuration(silk) / 1000, gDuration); duration = getDuration(silk) / 1000
} catch (e) { } catch (e) {
log("获取语音文件时长失败, 使用文件大小推测时长", filePath, e.stack) log("获取语音文件时长失败, 使用文件大小推测时长", filePath, e.stack)
duration = gDuration; duration = gDuration;