これが初心者の質問なら許してください、でも...
ビデオを再生するときは、VideoView / MediaPlayerを使用する方が良いですか、それともintent.ACTION_VIEWを使用してユーザーにメディアプレーヤーを選択させる方がよいですか?
私が再生する必要のあるビデオは、モバイル用に最適化されていない非常に大きなmp4ファイル(20メガ-50メガ以上)です。VideoView/MediaPlayerを使用するとバッファリングの問題が発生します。ただし、intent.ACTION_VIEWを使用すると、RealPlayerのようなものを使用できます。これは、(少なくとも私の場合は)バッファリングのより良い仕事をします。さらに、RealPlayerと私が試した他のプレーヤーは、VideoView/MediaPlayerのようにビデオを再起動せずに向きの変更を処理します。ただし、この2番目のアプローチがユーザーエクスペリエンスの観点から「許容できる」かどうかはわかりません。
これが私のVideoView/MediaPlayerアプローチのコードです:
XML:
<VideoView android:id="@+id/videoView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
Java:
public class VideoViewActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
VideoView videoView = (VideoView) findViewById(R.id.videoView);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoView);
Uri video = Uri.parse("http://www.my.big.video.com/video.mp4");
videoView.setMediaController(mediaController);
videoView.setVideoURI(video);
videoView.start();
}
そして、これが私の2番目のアプローチのコードです。
Java:
public class VideoViewActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String videoUrl = "http://www.my.big.video.com/video.mp4";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(videoUrl));
startActivity(i);
}
提案?