2011-08-05 9 views

答えて

0

これは、接続性をチェックするタイマーを設定することでこれを解決しました。

パブリッククラスCheckNetworkConnectionは{

private boolean networkIsAvailable() { 
    ConnectivityManager connectivityManager 
      = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); 
    return activeNetworkInfo != null; 
} 

@Override 
protected String doInBackground(String... params) { 
    while (vv.isPlaying()) { 
     try { 
      Thread.sleep(4000); 
     } catch (InterruptedException e) { 
      e.printStackTrace(); 
      return ""; 
     } 
     if (!networkIsAvailable()) { 
      vv.stopPlayback(); 
      VideoTime.this.finish();     
     } 
    } 
    return ""; 
} 

}

AsyncTaskを拡張します
1

ビデオファイルをsdcard(例:URLConnectionおよびInputStreamを使用)にダウンロードすることで回避できます。このダウンロード中にネットワーク接続エラーが検出されたことを確認しています。その後、ダウンロードが完了すると、VideoViewはローカルのSDカードからビデオファイルを直接再生できます。これに関する唯一の問題は、VideoViewは再生前にビデオ全体がダウンロードされるまで待つ必要があることです。

関連する問題