AnhviNguyen
audio cloud
ad6916c
Raw
History Blame Contribute Delete
828 Bytes
import { cloudinaryAudioUrl } from '@/utils/cloudinaryUrl.js'
export function buildAudioSrc(fileId) {
if (!fileId) return ''
const id = String(fileId).trim()
if (id.startsWith('http://') || id.startsWith('https://')) return id
const cloudinary = cloudinaryAudioUrl(id)
if (cloudinary) return cloudinary
const base = (import.meta.env.VITE_AUDIO_CDN_BASE || '').trim()
const ext = (import.meta.env.VITE_AUDIO_CDN_EXT || '').trim() || '.mp3'
if (!base) return ''
return `${base.replace(/\/$/, '')}/${id}${ext.startsWith('.') ? ext : `.${ext}`}`
}
/** Prefer API-provided audio_url (Cloudinary), else build from file_id. */
export function partAudioSrc(part) {
if (!part) return ''
const url = part.audio_url
if (url && String(url).trim()) return String(url).trim()
return buildAudioSrc(part.file_id)
}