Rya*_*ggs 5 html audio audio-streaming
我正在使用 HTML5 音频 api 来播放声音。这对于常规 mp3 文件工作正常,但当使用诸如 之类的声音流时http://95.173.167.24:8009,它无法播放。
这是我正在使用的代码:
if('webkitAudioContext' in window) {
var myAudioContext = new webkitAudioContext();
}
request = new XMLHttpRequest();
request.open('GET', 'http://95.173.167.24:8009', true);
request.responseType = 'arraybuffer';
request.addEventListener('load', bufferSound, false);
request.send();
function bufferSound(event) {
var request = event.target;
var source = myAudioContext.createBufferSource();
source.buffer = myAudioContext.createBuffer(request.response, false);
source.connect(myAudioContext.destination);
source.noteOn(0);
}
Run Code Online (Sandbox Code Playgroud)
谁能指出我在这方面的正确方向?
任何帮助表示赞赏。谢谢
问题可能是 SHOUTcast 正在将您的用户代理字符串检测为浏览器。它会查找Mozilla其中包含的任何字符串,然后说“哦,那是一个浏览器!向他们发送管理面板。”
您需要强制使用音频流。幸运的是,通过在 URL 末尾添加分号即可轻松完成此操作:
http://95.173.167.24:8009/;
Run Code Online (Sandbox Code Playgroud)
请注意,日志中的用户代理字符串将为MPEG OVERRIDE.
这适用于大多数浏览器。有些浏览器可能仍然不喜欢来自 SHOUTcast 的类似 HTTP 的响应,但这至少可以帮助您入门。