0

我正在使用地址从网上流式传输

http://83.170.109.107:8004

代码看起来像

    var snd = new Media(add_list[parameter],onSuccess,onplayError,mediaStatus);
    snd.play();
function onSuccess() {
     console.log("start");
    }
function onplayError(err) {
    console.log("error occurred"+err.code);

}
function mediaStatus(code) {
    console.log(code);

}

当该地址上存在流时,这非常有效。但是onSuccess从未触发。mediaStatus方法工作正常。现在我想让它防错。这意味着如果地址上不存在流,它将捕获错误并显示一条消息。

所以我提供了一个假地址

 http://184.172.000.000:0000

现在方法不会被触发。onSuccess、onplayError 和 mediaStatus所有方法均失败。在 android LogCat 中只显示

12-03 15:41:34.376: E/MediaPlayer(24895): 错误 (1,-110)

我尝试使用 try catch,这也不起作用。谁能告诉我如何检测流是否不存在?为什么这些方法在流式传输时无法正常工作?

4

1 回答 1

0

我想这没有答案。所以这就是我所做的。这不是直接的方式,而是一种方式。

我使用了一个带间隔的函数,它检查固定的时间量,然后触发以查看应用程序是否在相应地址上获得了任何流。它会获得任何有效的流而不是继续,如果没有,则认为该流不存在。不是直接的,而是为我临时工作。

于 2013-12-21T07:03:59.203 回答