mr_*_*r_j 5 audio-streaming node.js
我正在致力于在树莓派上创建一个基本的音频播放器。我在客户端上有一个基本的 mp3 播放器,带有基本控件...播放/暂停和停止。当用户点击播放时,socket 将一个 mp3 url 发送到使用节点的服务器,该节点捕获 url 并在扬声器上播放。在服务器上暂停/恢复播放流时遇到问题。下面是我的代码
var app = require("express")();
var http = require('http').Server(app);
var io = require("socket.io")(http);
var lame = require('lame');
var request = require('request');
var Speaker = require('speaker');
io.on('connection', function(socket){
var playing;
var decoder = new lame.Decoder();
playing = socket.on('play', function(data){
var stream;
stream = request(data.songurl);
decoder.on('format', function(){
mpg123Util.setVolume(decoder.mh, 1.0)
})
return stream;
stream.pipe(decoder).pipe(speaker);
setTimeout(function(){
console.log('pausing')
stream.unpipe(decoder).unpipe(speaker);
}, 10000);
stream.on('end', function(){
console.log('ended')
stream.unpipe(decoder).unpipe(speaker);
})
})
socket.on('pause', function(data){
// console.log(playing)
playing.unpipe(decoder).unpipe(speaker);
})
Run Code Online (Sandbox Code Playgroud)
当我单击暂停按钮时,我收到错误“无法读取未定义的属性‘管道’”,因为当时尚未定义“流”。有没有办法检测是否存在现有流以及如何暂停/恢复该流?
| 归档时间: |
|
| 查看次数: |
1828 次 |
| 最近记录: |