美文网首页Android 成长笔记
Android 播放视频文件

Android 播放视频文件

作者: 赵者也 | 来源:发表于2018-01-04 09:56 被阅读1次

    在 Android 6.0 或者之后的版本中要主动请求用户授权,具体方法,可以参考我之前写的这篇文章
    Android 6.0+ SMSManager 使用示例 发送短信

    实例的代码如下:

    import android.app.Activity;
    import android.os.Bundle;
    import android.os.Environment;
    import android.view.KeyEvent;
    import android.view.View;
    import android.widget.Button;
    import android.widget.VideoView;
    
    import java.io.File;
    
    public class MainActivity extends Activity implements View.OnClickListener {
    
        private static final String TAG = "MainActivity";
    
        private Button play;
        private Button pause;
        private Button replay;
        private VideoView videoView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            play = findViewById(R.id.play);
            pause = findViewById(R.id.pause);
            replay = findViewById(R.id.replay);
            videoView = findViewById(R.id.video_view);
    
            play.setOnClickListener(this);
            pause.setOnClickListener(this);
            replay.setOnClickListener(this);
    
            initMediaPlayer();
        }
    
        @Override
        public boolean onKeyUp(int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_BACK) {
                moveTaskToBack(true);
            }
            return super.onKeyUp(keyCode, event);
        }
    
        private void initMediaPlayer() {
            try {
                File file = new File(Environment.getExternalStorageDirectory(), "movie.mp4");
                videoView.setVideoPath(file.getPath());
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        @Override
        public void onClick(View view) {
            switch (view.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;
                default:
                    break;
            }
        }
    
        @Override
        protected void onDestroy() {
            super.onDestroy();
            if (null != videoView) {
                videoView.suspend();
            }
        }
    }
    

    示例使用的布局文件如下:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout 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"
        tools:context=".SplashActivity"
        android:orientation="vertical"
        >
    
        <VideoView
            android:id="@+id/video_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal"
            >
            <Button
                android:id="@+id/play"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="@string/play"
                />
    
            <Button
                android:id="@+id/pause"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="@string/pause"
                />
    
            <Button
                android:id="@+id/replay"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="@string/replay"
                />
        </LinearLayout>
    
    
    </LinearLayout>
    

    本文参考自 《Android 第一行代码》

    相关文章

      网友评论

        本文标题:Android 播放视频文件

        本文链接:https://www.haomeiwen.com/subject/fusknxtx.html