我有一个代码可以在shoutcast服务器上播放在线广播。当应用程序启动时,它会流式传输文件并播放它。现在的问题是,如果我没有网络连接或不正确的网络连接,应用程序的状态将永远保持“流”模式。我想添加一个线程与这个流媒体的东西应该等待20秒,如果它无法连接到服务器,它应该抛出一个事件退出应用程序说明“不正确的网络连接”。 或者,如果有任何其他想法,也将受到赞赏..播放媒体的代码是,
public void playFm() {
Uri myUri = Uri.parse("http://108.166.161.206:8826/;stream.mp3");
try
{
if (mp == null) {
this.mp = new MediaPlayer();
} else {
mp.stop();
mp.reset();
}
mp.setDataSource(this, myUri); // Go to Initialized state
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
streaming=true;
progress.setVisibility(View.VISIBLE);
stream.setVisibility(View.VISIBLE);
stop.setEnabled(false);
mp.setOnPreparedListener(this);
mp.setOnBufferingUpdateListener(this);
mp.setOnErrorListener(this);
mp.prepareAsync();
Log.d(TAG, "LoadClip Done");
} catch (Throwable t) {
Log.d(TAG, t.toString());
}
}
Thanx提前全部..
答案 0 :(得分:2)
以下是答案..
iRunnable=new Runnable()
{
@Override
public void run()
{
//do something
}
};
和其他功能
Thread th = new Thread() {
@Override
public void run() {
try {
Thread.sleep(1000*15);
//your code here..
iHandler.postDelayed(iRunnable,20*1000);
}
catch (InterruptedException ie)
{
}
};
th.start();
}
答案 1 :(得分:0)
首先,您必须检查Internet连接并向Androidmanifest.xml文件添加网络状态权限