流式传输音频文件时处理FileNotFound

时间:2014-06-25 16:50:22

标签: jquery .net html5-audio

我正在尝试使用.net作为来自其他服务器的流媒体音频的中介服务。

例如:externalserver.com/?u=xxx&p=xxx&id=123

我的html音频标签src有url myserver.com/?id=123

在此,我正在读取字节缓冲区中的响应流并将其转发到音频标记。

但在某些情况下,外部服务器返回的结果如'找不到文件。或者格式不正确'。

当我按原样流式传输服务器结果时, onerror eventlistener未被触发。我想知道是否有类似onplayerror的东西。

基本上,我想通知用户流是否返回任何明文错误而不是音频流。我无法使用明文检查,因为流是由音频元素通过它的src在内部加载的。

1 个答案:

答案 0 :(得分:1)

根据您在html中使用<audio>标记的方式,一种解决方案是添加div

<div id="player">click to play</div>

<audio preload="none" controls>
    <source id="wav" src="http://example.com/404.wav" />
</audio>

然后添加事件处理程序

("#player").on("click", function () {
    try {
        $('audio')[0].play();
    } catch (e) {
        console.log("Error");
    }
});

$("audio").on("error", function (e) {
        console.log("Error");
    });

$("#wav").on("error", function (e) {
        console.log("Error");
    });

这不应该只处理任何错误404。