我正在开发一个小的javascript片段,允许用户使用soundManager2在流媒体中收听webradio。通过给这个片段提供一个URL,该流向我发送音乐,因此很酷,它可以工作。
是的,但是......
对URL的查询可能非常长(超过2-3分钟!)。我想知道是否有一个解决方法或选项,我可以用来更快地进行此查询。 为什么,用Windows Media Player打开我的m3u(里面只包含mp3 URL),加载最多花费5-10秒,而在浏览器或使用soundManager2访问相同的URL是2-3分钟,有时更多?
这是jsFiddle尝试使用OuïFM(法国电台)。这个收音机的等待时间大约是115秒。
var url = 'http://ice39.infomaniak.ch:8000/ouifm3.mp3';
var time = 0;
var timing = setInterval(function() {
$('#Streaming').html((time / 10) + ' seconds.');
time++;
}, 100);
var start = new Date;
soundManager.onready(function() {
soundManager.createSound({
id:'Radio',
url:url,
autoLoad: true,
autoPlay: true,
multiShot: false,
onload: function() {
$('#Loading').css('display', 'none');
clearInterval(timing);
}
});
});
答案 0 :(得分:1)
你的小提琴坏了,因为SoundManager2的javascript没有正确加载。在我修复了(以及你的一些代码)后,我能够在一秒钟内播放音频:http://jsfiddle.net/y8GDp/
var url = 'http://ice39.infomaniak.ch:8000/ouifm3.mp3';
var time = 0;
var timer = $('#Streaming');
var loading = $('#Loading');
var start = new Date;
var seconds = function(){
var diff = ((new Date).getTime() - start.getTime()) / 1000;
return diff + ' seconds.';
};
var timing = setInterval(function() {
timer.html(seconds());
}, 100);
soundManager.onready(function() {
soundManager.createSound({
id:'Radio',
url:url,
autoPlay: true,
onplay: function() {
clearInterval(timing);
loading.html('Finished loading');
timer.html(seconds());
}
});
});