2011-02-02 8 views
3

これは初心者の質問ですが、ビデオを再生すると...ビデオ - VideoView/MediaPlayer、またはintent.action_viewとユーザーの選択を使用しますか?

、それは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:

の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(); 
} 

そして、ここでは私の第二のアプローチのためのコードです:

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); 
} 

提案?

答えて

3

ユーザーがRealPlayerやその他の特定のメディアプレーヤーを所有していると想定することはできません。そのため、ファイルをうまく処理できるメディアプレーヤーが開かれることを期待してください。向きの変更の問題を避けるために、私はVideoViewの風景を風景に固定しました(とにかく肖像画でビデオを見たいと思っていますか?)。私はこれが安い方法と考えられていると確信していますが、それは機能します。

+0

ありがとうございました。私は誰かがそれを言ってくれるのではないかと心配しました。笑。風景にロックすると、すばやく簡単に修正されます。バッファリングは別の問題です。私は周りを見回します。 – user359519

関連する問題