好的我有一个像流星法一样的冰流声音:
var icy = Meteor.npmRequire("icy");
var Future = Meteor.npmRequire('fibers/future');
// URL to a known Icecast stream
Meteor.methods({
//used in the RoomCtrl
getmeta: function(url){
MYFUTURE = new Future();
// connect to the remote stream
icy.get(url, function (res) {
// log the HTTP response headers
console.error(res.headers);
// log any "metadata" events that happen
res.on('metadata', function (metadata) {
var parsed = icy.parse(metadata);
console.log(parsed);
if(MYFUTURE.isResolved()){
MYFUTURE = new Future();
MYFUTURE.return(parsed);
}else{
MYFUTURE.return(parsed);
}
});
//THIS IS NEEDED GOD KNOWS WHY!
res.on('data', function(data){
//console.log(data);
});
});
return MYFUTURE.wait();
}
});
当icecast服务器更新时,它更新了服务器上的流元数据,这很棒。我也在调用使用角度流星的方法,如下所示:
$meteor.call('getmeta', $scope.pickedstation.ipdomain).then(
function(data){
console.log(data);
$scope.streammeta = data;
},
function(err){
console.log(err);
}
);
在第一次点击时工作,当Icecast服务器通过我的服务器推送新数据时,我的问题就出现了,然后它就不会进入前端的角度流星方法...... 有任何想法吗?