播放视频

来源:互联网 发布:我知女人心 电影粤语 编辑:程序博客网 时间:2024/05/02 01:20

播放视频文件其实并不比播放音频文件复杂,主要是使用VideoView类来实现的。这个类将视频的显示和控制集于一身,使得我们仅仅借助它就可以完成一个简易的视频播放器。VideoView的用法和MediaPlayer也比较类似,主要有以下常用方法:
这里写图片描述

布局文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <VideoView        android:id="@+id/video_view"        android:layout_width="match_parent"        android:layout_height="300dp" />    <LinearLayout        android:layout_width="match_parent"        android:layout_height="match_parent" >        <Button            android:id="@+id/play"            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="Play" />        <Button            android:id="@+id/pause"            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="Pause" />        <Button            android:id="@+id/replay"            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="Replay" />    </LinearLayout></LinearLayout>

程序代码

public class MainActivity extends Activity implements OnClickListener {    private VideoView videoView;    private Button play;    private Button pause;    private Button replay;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        play = (Button) findViewById(R.id.play);        pause = (Button) findViewById(R.id.pause);        replay = (Button) findViewById(R.id.replay);        videoView = (VideoView) findViewById(R.id.video_view);        play.setOnClickListener(this);        pause.setOnClickListener(this);        replay.setOnClickListener(this);        initVideoPath();    }    private void initVideoPath() {//      File file = new File(Environment.getExternalStorageDirectory(),//              "movie.3gp");        File    ff = new File(Environment.getExternalStorageDirectory()                .getAbsoluteFile() + File.separator + "movie");        if (!ff.exists()) {            ff.mkdirs();        }        File file = new File(ff, "hua.mp4");        videoView.setVideoPath(file.getPath()); // 指定视频文件的路径    }    @Override    public void onClick(View v) {        switch (v.getId()) {        case R.id.play:            if (!videoView.isPlaying()) {                videoView.start(); // 开始播放            }            break;        case R.id.pause:            if (videoView.isPlaying()) {                videoView.pause(); // 暂时播放            }            break;        case R.id.replay:            if (videoView.isPlaying()) {                videoView.resume(); // 重新播放            }            break;        }    }    @Override    protected void onDestroy() {        super.onDestroy();        if (videoView != null) {            videoView.suspend();        }    }}

因为需要读取sdcard的内容,需要权限:

  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

另外需要注意,VideoView并不是一个万能的视频播放工具类,它在视频格式的支持以及播放效率方面都存在着较大的不足。所以,如果想要仅仅使用VideoView就编写出一个功能非常强大的视频播放器是不太现实的。但是如果只是用于播放一些游戏的片头动画,或者某个应用的视频宣传,使用VideoView还是绰绰有余的。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 电子表格中复制后没有虚线框怎么办 word中页眉页脚横线短了怎么办 亿图图示画的图不显示怎么办 掌柜宝用了几天无法登录了怎么办 手机千牛消息不小心删除了怎么办 淘宝账号被冻结提示无法恢复怎么办 商家未发货我误点了确认收货怎么办 淘宝买货商家不发货也不退款怎么办 商家没发货点成收货了怎么办 淘宝新店上架产品未通过审核怎么办 安卓手机电池虚电怎么办_查查吧 拼多多拼单期间商家下架商品怎么办 微信绑别人的卡需要人脸认证怎么办 支付宝把钱转到了停用的账号怎么办 我注册征信账号忘记了要怎么办 客户说考虑考虑我该怎么办招商类 浴巾用久了黑黑的洗不干净怎么办 wifi密码被别人改了怎么办啊 苹果手机更新后账号密码忘了怎么办 专项预审批额度额度时效了怎么办 id密码和id码丢了怎么办 手机卡丢了id密码忘了怎么办 不想叫爱派登录我的微信怎么办 pr中素材与新建序列不匹配怎么办 淘宝客户收到货不承认要退款怎么办 淘宝包邮店铺 新疆地区拍怎么办 唯品会换货上门但自己寄了怎么办 闲鱼实名认证拍身份证不行怎么办 支付宝绑定的身份证过期了怎么办 实名认证的淘宝店铺被骗走了怎么办 移动宽带los灯亮红灯闪烁怎么办 天猫精灵方糖不支持5g怎么办 天猫精灵方糖连不上网怎么办 设置隐私相片里没什么都没有怎么办 我的手机丢了里面有隐私相片怎么办 苹果5s的id关了怎么办 用op手机快手拍视频打不开怎么办 苹果8p用流量下载不了软件怎么办 流量下载不了内存大的游戏怎么办 苹果6s开机密码忘记了怎么办 咸鱼买东西没寄买家申请退款怎么办