問題は、接続 (http) または VideoView の使用にあると思います。
接続に問題があるかどうかを確認するには、電話のローカルで、つまり SD カードからメディア コンテンツを再生してみてください。
問題は VideoView の使用にも起因しています
VideoView クラスは、SurfaceView と MediaPlayer を使用してビデオ再生を実現します。MediaPlayer には、URL の設定、メディア パイプラインの準備、パイプラインの開始などを行うための API があります。パイプラインは準備ができている必要があります。つまり、プリロール状態になっている必要があります。これをアプリケーションに通知するために、MediaPlayer はリスナーを提供します。この場合は onPrepareListener です。MediaPlayer と対話する VideoView も (する必要がありますか?)、これらのリスナーも提供します。
再生に VideoView を使用する VideoPlayer アクティビティのコードの下をご覧ください。(ローカル コンテンツに対してのみ検証済み) このアクティビティは、インテントから再生されるファイルへの絶対パスを取得します。(リスト アクティビティから渡されます)
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.media.MediaPlayer.OnPreparedListener;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.MediaController;
import android.widget.VideoView;
public class VideoPlayer extends Activity implements OnCompletionListener, OnPreparedListener {
private static VideoView vView;
private String filePath;
public static long clipDurationMS;
private View mLoadingIndicator;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
vView = (VideoView)findViewById(R.id.VideoView01);
mLoadingIndicator = findViewById(R.id.progress_indicator);
vView.setBackgroundColor(0x0000);
Intent intent = getIntent();
Bundle extras = intent.getExtras();
filePath = (String)extras.get("URL");
vView.setVideoPath(filePath);
MediaController mc;
mc = new MediaController(this);
vView.setMediaController(mc);
vView.requestFocus();
vView.setOnCompletionListener(this);
vView.setOnPreparedListener(this);
}
public void onCompletion(MediaPlayer arg0)
{
finish();
}
public void onPrepared(MediaPlayer arg0)
{
mLoadingIndicator.setVisibility(View.GONE);
ViewGroup.LayoutParams params;
params = vView.getLayoutParams();
params.height = arg0.getVideoHeight();
params.width = arg0.getVideoWidth();
vView.setLayoutParams(params);
vView.start();
}
public void onStop(){
super.onStop();
vView.stopPlayback();
finish();
}
}
シャッシュ