Ответы пользователя по тегу Node.js
  • Как реализовать правильную конвертация аудиофайлов fluent-ffmpeg?

    Enokin
    @Enokin
    Full-stack разработчик
    Нужно будет самостоятельно указать необходимый кодек, исходя из формата, в который вы хотите конвертировать аудиофайл

    const codecs = {
        'ogg': 'libopus',
        'mp3': 'libmp3lame',
        'flac': 'flac',
        'aac': 'aac',
        // другие форматы и кодеки...
    };
    
    async function convertTo(inputPath, outputPath) {
        return await new Promise((resolve, reject) => {
            const format = outputPath.substring(outputPath.lastIndexOf('.') + 1);
            const codec = codecs[format];
            
            if (!codec) {
                reject(new Error(`Кодек для формата "${format}" не найден`));
                return;
            }
    
            ffmpeg(inputPath)
                .audioCodec(codec)
                .toFormat(format)
                .on('error', (err) => {
                    reject(err);
                })
                .on('end', () => {
                    console.log('Успешная конвертация');
                    resolve();
                })
                .save(outputPath)
        })
    }
    Ответ написан
    Комментировать
  • Как передавать параметром поле и направление сортировки?

    Enokin
    @Enokin
    Full-stack разработчик
    const { Pool } = require('pg');
    const pool = new Pool();
    
    const allowedSortDirections = ['ASC', 'DESC'];
    
    async function sortByField(field, direction) {
      if (!allowedSortDirections.includes(direction)) {
        throw new Error(`Недопустимое направление сортировки: ${direction}. Допустимыми значениями являются: ${allowedSortDirections.join(', ')}`);
      }
    
      const result = await pool.query(`SELECT id, updated_at FROM mail_providers ORDER BY $1 ${direction}`, [field]);
      return result.rows;
    }
    
    sortByField('updated_at', 'DESC')

    Можно так сделать
    Ответ написан
    5 комментариев