Je suis en train de créer un petit serveur nodejs qui prendra en charge les requêtes qui diffuseront l'audio. J'utilise actuellement 0.10.5 api. Je dois admettre que je suis un débutant à nodejs. Je ne suis pas sûr de savoir comment modifier ce code pour diffuser de l'audio avec succès.Nodejs mp3 en streaming
var http = environment.http;
//Steaming Audio
var path = environment.path,
util = environment.util,
url = environment.url;
http.createServer(function (request, response) {
var queryData = url.parse(request.url, true).query;
window.console.log(queryData);
if (!queryData.hasOwnProperty('file')) {
response.writeHead(404, {
'Content-Type': 'text/plain'
});
response.end();
window.console.log('In here');
} else {
window.console.log('In here2');
var filePath = queryData.file;
var extension = self.getExtension(filePath);
var acceptedExtensions = ['mp3', 'wav', 'aiff'];
if ($.inArray(extension, acceptedExtensions) == -1) {
response.writeHead(404, {
'Content-Type': 'text/plain'
});
response.end();
}
var stat = environment.fs.statSync(filePath);
response.writeHead(200, {
'Content-Type': 'audio/mpeg',
'Content-Length': stat.size
});
//window.console.log(filePath);
var readStream = environment.fs.createReadStream(filePath);
//var readable = new require('stream').Readable();
readStream.pipe(response);
}
}).listen(10000);
Quand je fais une demande http://localhost:10000/?file=/Users/acasanova/Music/Cass%20Beats/45th.mp3
Les spectacles de la console « Dans ici2 », puis « Ici ». J'essaie de comprendre pourquoi il semble remplir la demande deux fois et pourquoi l'audio n'est pas diffusé.
On dirait que mon getExtension était le coupable, mais maintenant après ma première demande de flux audio fonctionne toutes les demandes subséquentes diffusent le même son. Pourquoi donc? – user2108258