refactor: unify inline directives and media fetch
This commit is contained in:
18
src/media/audio.ts
Normal file
18
src/media/audio.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import { getFileExtension } from "./mime.js";
|
||||
|
||||
const VOICE_AUDIO_EXTENSIONS = new Set([".oga", ".ogg", ".opus"]);
|
||||
|
||||
export function isVoiceCompatibleAudio(opts: {
|
||||
contentType?: string | null;
|
||||
fileName?: string | null;
|
||||
}): boolean {
|
||||
const mime = opts.contentType?.toLowerCase();
|
||||
if (mime && (mime.includes("ogg") || mime.includes("opus"))) {
|
||||
return true;
|
||||
}
|
||||
const fileName = opts.fileName?.trim();
|
||||
if (!fileName) return false;
|
||||
const ext = getFileExtension(fileName);
|
||||
if (!ext) return false;
|
||||
return VOICE_AUDIO_EXTENSIONS.has(ext);
|
||||
}
|
||||
Reference in New Issue
Block a user