0

我有一个代码可以在广播服务器上播放在线广播。当应用程序启动时,它会流式传输文件并播放它。现在的问题是,如果我没有网络连接或网络连接不正确,应用程序的状态将永远保持在“流媒体”模式。我想用这个流媒体添加一个线程,它应该等待 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());
    }
}

提前谢谢大家..

4

2 回答 2

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();
    }
于 2013-07-15T08:03:48.923 回答
0

首先,您必须检查您的 Internet 连接并将新网络状态权限添加到您的 Androidmanifest.xml 文件

于 2013-07-01T07:24:29.903 回答