Pro Android学习笔记(一三十):Media Frameworks(5):播放视频

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。

Android为视频播放提供了很好的封装。通过android.widget.VideoView封装了MediaPlayer,使用起来很简单。

小例子的效果如下:

小例子的layout的xml文件如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout …… >

    <VideoView android:id="@+id/video_view"
        android:layout_width="200px"
        android:layout_height="200px"/>
</LinearLayout>

小例子的代码如下:

public class VideoDemo extends Activity{
    @Override
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.video_demo_activity);

       
        VideoView vv = (VideoView)findViewById(R.id.video_view);
       //媒体控制器就是图例中最下方的控制器,控制器出现一会会消失,按VideoView则会出现。当然,我们也可以不用媒体控制器,而自行设计按钮,通过start(),pause(),stopPlayback()和seekTo()来进行控制。
        MediaController mc = new MediaController(this);
        vv.setMediaController(mc);
 
        //例子显示的是web适配,需要INTERNET的permission
       String uriStr = "http://www.androidbook.com/akc/filestorage/android/documentfiles/3389/movie.mp4";
       vv.setVideoURI(Uri.parse(uriStr)); //对于本地视频,除了URI外,还可以是用setVideoPath();
        
        vv.requestFocus();
        vv.start();
    }   

}

我们同样可以用VideoView来播发音频,因为它实际上也是使用MediaPlayer的。

如果我们直接使用MediaPlayer类来播放视频,可以借助SurfaceView来作为图像或视频播放的可视view。建MediaPlayer对象有静态方法MediaPlayer.create(Context, Uri, SurfaceHolder),以及方法setDisplay(SurfaceHolder)。而SurfaceHolder和surfaceView之间的关联为:surfaceHolder=surfaceView.getHolder();

小例子代码在:Pro Android学习:media framworks小例子

相关链接:我的Android开发相关文章

你可能感兴趣的:(Pro Android学习笔记(一三十):Media Frameworks(5):播放视频)