node.js - Playing audio with python script from a NodeJS server -
i trying play audio file using python. while need reproduce audio file, i'll use gpio @ raspberry.
when receive http related link, it's supposed execute python script , reproduce audio. but, api reproduces short sound. file have 10 sec noise plays less 1 sec.
here controller
// controller /* importar o módulo child_process */ var cp = require('child_process'); /* importar o módulo node-omxplayer */ var omx = require('node-omxplayer'); /* importar o módulo python-shell */ var ps = require('python-shell'); // caminhos para os scripts pythons var options = { scriptpath: '/home/pi/documents/apirest/api/files/' }; /* o módulo node-omxplayer usar o child_process para execução da query de reprodução omxplayer */ module.exports.parar = function(application, req, res) { res.send('comando de parada video foi executado'); cp.exec('killall omxplayer.bin', function(err, stdout, stderr){ if(err) { return; } }); } module.exports.repr = function(application, req, res) { var query = req.query.video; if(query == '1') { res.send('script de reprodução video 1 sendo executado.'); vd1 = omx('/home/pi/downloads/video1.mp4', 'hdmi'); } else if(query == '2') { res.send('script de reprodução video 2 sendo executado.'); vd2 = omx('/home/pi/downloads/video2.mp4', 'hdmi'); } } module.exports.trovao = function(application, req, res) { var out = ''; ps.run('trovao.py', options, function (err) { if (err) { out = err; throw err; } else { out = 'ok'; } console.log('finished'); res.send("status: " + out); }); }
i tried use child_process execute script, have same result. small noise. when execute script directly, python trovao.py works!!
here python script:
import pygame.mixer pygame.mixer import sound time import sleep pygame.mixer.init() try: thunder = pygame.mixer.sound("thunder3.wav") print ("arquivo carregado!") except pygame.error: print ("nao foi possivel carregar o arquivo!") #executa o som somente uma vez aux = thunder.play() while aux.get_busy(): continue #pygame.time.delay(100) #sleep(2) #thunder.stop() print("reproduzido");
in fact, need play audio file , sync gpio interaction. what doing wrong?
Comments
Post a Comment