gpt4 book ai didi

java - Android - MediaPlayer,如何在流式传输时捕获损坏的 url

转载 作者:行者123 更新时间:2023-11-30 11:23:52 26 4
gpt4 key购买 nike

我有一个小应用程序,它从网络上的不同 url 流式传输,我想处理无效/损坏的 url,我已经尝试了提供的各种捕获,但即使在流式传输损坏的文件时,我也可以在日志中看到我的日志, 我只看到了

 Error (1,-1004) 

这是我目前的代码

 mediaPlayer.reset();
try {
mediaPlayer.setDataSource(urlString);
Log.w("myApp", "0");
mediaPlayer.prepareAsync(); // might take long! (for buffering, etc)
playPauseButton.setVisibility(View.INVISIBLE);
progressBar1.setVisibility(View.VISIBLE);
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
// TODO Auto-generated method stub

duration = mediaPlayer.getDuration();
textDuration.setText(getDurationString(duration/1000));
progress.setMax(duration);
playPauseButton.setChecked(true);
mediaPlayer.start();
playPauseButton.setVisibility(View.VISIBLE);
progressBar1.setVisibility(View.INVISIBLE);
}
});

} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
Log.w("myApp", "1");
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
Log.w("myApp", "2");
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
Log.w("myApp", "3");
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
Log.w("myApp", "4");
e.printStackTrace();
}

谢谢你的帮助。)

最佳答案

MediaPlayer.OnErrorListener 可能会有所帮助。这不是一个异常(exception)。所以你无法捕捉到它。

onError(MediaPlayer mp, int what, int extra);

官方文档。 MEDIA_ERROR_IO 是额外的代码。

public static final int MEDIA_ERROR_IO

Added in API level 17
File or network related operation errors.

Constant Value: -1004 (0xfffffc14)

关于java - Android - MediaPlayer,如何在流式传输时捕获损坏的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20942702/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com