audio files management

This commit is contained in:
2025-11-14 09:20:56 +02:00
parent fa78aa68fd
commit 006d159a0f
6 changed files with 15 additions and 6 deletions
+4 -2
View File
@@ -103,7 +103,7 @@ class GameObjectsManager{
}else{
object.asset.type = 'single';
await fs.promises.copyFile(src, def + ext);
if (['.jpg', '.png', '.webp', '.mp4', '.avi', '.webv'].includes(ext)){
if (['.jpg', '.png', '.webp', '.mp4', '.avi', '.webv', '.mp3'].includes(ext)){
await this.addThumb(object, src);
}
}
@@ -118,6 +118,7 @@ class GameObjectsManager{
let ext = path.extname(thumbSrc).toLowerCase();
//console.log(object, thumbSrc, ext);
let dest = `${config.fs.repo}/thumb/${object.id}.webp`;
object.asset.thumb = `${object.id}.webp`;
if (['.jpg', '.png', '.webp'].includes(ext) || !ext){
await sharp(thumbSrc).resize({height: 250}).toFile(dest);
}else if (['.mp4', '.avi', '.webv'].includes(ext)){
@@ -125,8 +126,9 @@ class GameObjectsManager{
await execFile('ffmpeg', [
'-i', thumbSrc, '-vf', `select=eq(n\\,${frame}),scale=-2:300`,
'-vframes', 1, '-f', 'image2', '-y', dest]);
}else if (['.mp3'].includes(ext)){
object.asset.thumb = `audio.webp`;
}
object.asset.thumb = `${object.id}.webp`;
}
/**
+1 -1
View File
@@ -27,7 +27,7 @@ class AssetController{
router.get('/:where/:id(*)', async (req, res)=>{
res.sendFile(config.fs.repo + req.params.where + '/' + req.params.id, (err)=>{
if (err){
console.error('Error retreiving file', req.params, err.code, err.message);
//console.error('Error retreiving file', req.params, err.code, err.message);
if (req.params.where == 'thumb'){
res.redirect(302, '/empty.png');
}else res.status(404).end();