android如何使用mediaPlayer+surfaceView或者使用VideoView播放一个视频时可以保证大多数平台都可以正常播放呢

求助:android怎么使用mediaPlayer+surfaceView或者使用VideoView播放一个视频时可以保证大多数平台都可以正常播放呢?
最近在搞一个视频播放的功能。基本的实现边下载边播放mediaPlayer+surfaceView或者使用VideoView播放一个视频可以实现。
主要CODE:
    VideoView:
         mUri = Uri.parse("http://daily3gp.com/vids/family_guy_penis_car.3gp");
mMediaController = new MediaController(this);
mVideoView.setMediaController(mMediaController);

   mediaPlayer+surfaceView:
                 surfaceView = (SurfaceView) findViewById(R.id.surfaceView);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.setFixedSize(320, 200);
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mediaPlayer = new MediaPlayer();
surfaceView.getHolder().addCallback(new Callback() 
············
                mediaPlayer.setDataSource("http://www.nuoter.com/qingnianjiwang.3gp");
//把视频画面输出到SurfaceView
mediaPlayer.setDisplay(surfaceView.getHolder());
mediaPlayer.prepareAsync();
mediaPlayer.setOnPreparedListener(this);


关键的问题是在很多手机上的3gp格式都不能进行播放,在模拟器上以及本人的小米3gp都是可以正常播放的,但是为什么中兴,魅族的手机都不支持此种视频格式的播放呢?求思路或解决办法。
------解决方案--------------------
你可以借用别人写好的源码,直接导入到你的项目中,基本上可以解决问题的,记得上个项目就是借用别人的视频源码,如果还是播放不了就调用了第三方的播放器,如果像写自己的播放器,这个开发周期,难免要延长,开源项目vitamio就是开源的视频播放器