3

如果这是一个新手问题,请原谅我,但是......

播放视频时,是使用 VideoView/MediaPlayer 更好,还是使用 intent.ACTION_VIEW 让用户选择自己的媒体播放器更好?

我需要播放的视频是非常大的 mp4 文件(20 meg - 50+ meg),未针对移动设备进行优化。使用 VideoView/MediaPlayer 时出现缓冲问题。但是,当我使用intent.ACTION_VIEW 时,我可以使用RealPlayer 之类的东西,它在缓冲方面做得更好(至少在我的情况下)。另外,RealPlayer 和我尝试过的其他播放器可以处理方向更改,而无需像 VideoView/MediaPlayer 那样重新启动视频。但是,我不知道从用户体验的角度来看,第二种方法是否“可以接受”。

这是我的 VideoView/MediaPlayer 方法的代码:

XML:

<VideoView android:id="@+id/videoView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />

爪哇:

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

建议?

4

1 回答 1

3

您不能假设用户拥有 RealPlayer 或任何其他特定的媒体播放器,因此这种方法希望意图打开一个能够很好地处理文件的媒体播放器。为了避免方向更改问题,我将 VideoView 的横向锁定为横向(谁想观看纵向视频?)。我确信这被认为是一种廉价的出路,但它确实有效。

于 2011-02-03T20:40:24.827 回答