zoukankan      html  css  js  c++  java
  • Android 视频播放器 VideoView 的使用,播放本地视频 和 网络 视频(转载)

    1、布局文件

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="app.com.myapplication.LocalVideoActivity">
    
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="200dp">
    
            <VideoView
                android:id="@+id/videoView"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                />
    
        </RelativeLayout>
    
    
    </RelativeLayout>

    2、代码部分

    package app.com.myapplication;
    
    import android.media.MediaPlayer;
    import android.net.Uri;
    import android.os.Bundle;
    import android.os.Environment;
    import android.support.v7.app.AppCompatActivity;
    import android.widget.MediaController;
    import android.widget.Toast;
    import android.widget.VideoView;
    
    public class LocalVideoActivity extends AppCompatActivity {
    
        private VideoView videoView ;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_local_video);
    
            //本地的视频  需要在手机SD卡根目录添加一个 fl1234.mp4 视频
            String videoUrl1 = Environment.getExternalStorageDirectory().getPath()+"/fl1234.mp4" ;
    
            //网络视频
            String videoUrl2 = Utils.videoUrl ;
    
            Uri uri = Uri.parse( videoUrl2 );
    
            videoView = (VideoView)this.findViewById(R.id.videoView );
    
            //设置视频控制器
            videoView.setMediaController(new MediaController(this));
    
            //播放完成回调
            videoView.setOnCompletionListener( new MyPlayerOnCompletionListener());
    
            //设置视频路径
            videoView.setVideoURI(uri);
    
            //开始播放视频
            videoView.start();
        }
    
        class MyPlayerOnCompletionListener implements MediaPlayer.OnCompletionListener {
    
            @Override
            public void onCompletion(MediaPlayer mp) {
                Toast.makeText( LocalVideoActivity.this, "播放完成了", Toast.LENGTH_SHORT).show();
            }
        }
    }
    package app.com.myapplication;
    
    /**
     * Created by ${zyj} on 2016/4/19.
     */
    public class Utils {
    
        public static final String videoUrl = "http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" ;
    
    }
     

     3、在AndroidManifext.xml文件中声明用到的权限

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

    4、效果展示

         

           

  • 相关阅读:
    相对嵌套布局
    转:Android控件属性
    layout_weight属性分析
    Node.js 中文乱码解决
    转:正则表达式30分钟入门
    转: 再谈select, iocp, epoll,kqueue及各种I/O复用机制
    多线程调试
    GDB调试增强篇
    GDB调试
    笔趣阁
  • 原文地址:https://www.cnblogs.com/geili/p/10193757.html
Copyright © 2011-2022 走看看