Воспроизведение звука программно через NodeJS

#javascript #node.js #audio

#javascript #node.js #Аудио

Вопрос:

Я потратил целый день, пытаясь получить какой-либо из npm пакетов, связанных с воспроизведением звука из nodejs , но не смог заставить ни один из них работать.

В принципе, что мне нужно, так это воспроизводить пакетные аудиозаписи.

Например:

 //files containing the name of the audios
var files = require('./list-of-audios-to-play.json')

var player = require('play-sound')(opts = {})

 var counter = 0;

  //every 5 seconds, play the referenced audio

  setInterval(function(){
    counter  ;
    player.play(files[counter] '.mp3', function(err){
      if (err) throw err
    })
  },5000)
  

Перепробовал все.

Когда я запускаю приведенный выше код, я получаю эту ошибку:

 INFORMATION: wasnt possible to locate files for the specified pattern(s)
events.js:183
      throw er; // Unhandled 'error' event
      ^

Error: spawn play ENOENT
    at _errnoException (util.js:1022:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19)
    at onErrorNT (internal/child_process.js:372:16)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)
    at Function.Module.runMain (module.js:695:11)
    at startup (bootstrap_node.js:188:16)
    at bootstrap_node.js:609:3
  

Кто-нибудь может помочь?

Комментарии:

1. Нам нужно было бы просмотреть файл JSON с именами файлов, чтобы определить, почему не удалось найти файл, и, возможно, файловое дерево в вашей системе для аудиофайлов, поскольку ошибка указывает, что имена файлов / шаблоны не соответствуют вашим файлам.

2. похоже, что он не может найти файлы. У меня всегда возникают проблемы с относительными / абсолютными путями. Вы можете попробовать console.logging files[counter] , чтобы увидеть, какой путь он ищет. Также вы можете захотеть использовать nodejs path API (возможно path.join )

3. Спасибо за ответ! Оказалось, что мне пришлось обновить npm.