zoukankan      html  css  js  c++  java
  • Android如何制作一个简易的视频播放器

     

    Android如何制作一个简易的视频播放器

     

          ——安德风QQ1652102745

     

    一、效果演示:

     

     

     

    二、布局设计activity_main.xml

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <LinearLayout
     3     xmlns:android="http://schemas.android.com/apk/res/android"
     4     xmlns:app="http://schemas.android.com/apk/res-auto"
     5     xmlns:tools="http://schemas.android.com/tools"
     6     android:layout_width="match_parent"
     7     android:orientation="vertical"
     8     android:layout_height="match_parent"
     9     tools:context="com.example.video.MainActivity">
    10 
    11     <VideoView
    12         android:id="@+id/videoView"
    13         android:layout_width="match_parent"
    14         android:layout_height="300dp" />
    15     <LinearLayout
    16         android:layout_width="match_parent"
    17         android:layout_height="wrap_content"
    18         android:orientation="horizontal">
    19         <Button
    20             android:id="@+id/btn_start"
    21             android:layout_width="wrap_content"
    22             android:layout_height="wrap_content"
    23             android:text="开始"
    24             android:layout_marginLeft="20dp"/>
    25 
    26         <Button
    27             android:id="@+id/btn_end"
    28             android:layout_width="wrap_content"
    29             android:layout_height="wrap_content"
    30             android:text="结束" />
    31     </LinearLayout>
    32 </LinearLayout>

    三、功能实现MainActivity.java

     1 package com.example.video;
     2 
     3 
     4 import android.net.Uri;
     5 import android.os.Bundle;
     6 import android.view.View;
     7 import android.widget.Button;
     8 import android.widget.MediaController;
     9 import android.widget.VideoView;
    10 
    11 import androidx.appcompat.app.AppCompatActivity;
    12 
    13 public class MainActivity extends AppCompatActivity {
    14     private VideoView videoView;
    15     private Button btn_start,btn_end;
    16     private MediaController mediaController;
    17 
    18     @Override
    19     protected void onCreate(Bundle savedInstanceState) {
    20         super.onCreate(savedInstanceState);
    21         setContentView(R.layout.activity_main);
    22         initView();
    23     }
    24 
    25     private void initView() {
    26         videoView= (VideoView) findViewById(R.id.videoView);
    27         btn_start= (Button) findViewById(R.id.btn_start);
    28         btn_end= (Button) findViewById(R.id.btn_end);
    29 
    30 
    31         btn_start.setOnClickListener(new View.OnClickListener() {
    32             @Override
    33             public void onClick(View v) {
    34                 init();//实现开始播放功能函数
    35             }
    36         });
    37         btn_end.setOnClickListener(new View.OnClickListener() {
    38             @Override
    39             public void onClick(View v) {
    40                 videoView.stopPlayback();//结束播放
    41             }
    42         });
    43     }
    44 
    45     private void init() {
    46 videoView = (VideoView) findViewById(R.id.videoView); //绑定视频视图控件ID 47 mediaController = new MediaController(this);//创建媒体控制器 48 String uri = "android.resource://" + getPackageName() + "/" + R.raw.a;//导入视频路径 49 videoView.setVideoURI(Uri.parse(uri));//设置视频文件的统一资源标志符目的为了导入视频路径以及解析视频 50 videoView.setMediaController(mediaController);//设置视频控制器 51 mediaController.setMediaPlayer(videoView);//通过媒体控制器来控制视频播放器 52 videoView.requestFocus();//请求获得视频视图焦点 53 videoView.start();//开始播放 54 } 55 }


















    四、视频存放路径:R/raw

  • 相关阅读:
    leetcode题解:Search in Rotated Sorted Array(旋转排序数组查找)
    leetcode 题解:Remove Duplicates from Sorted Array II(已排序数组去三次及以上重复元素)
    leetcode 题解:Remove Duplicates from Sorted Array(已排序数组去重)
    leetcode题解:Tree Level Order Traversal II (二叉树的层序遍历 2)
    leetcode 题解:Binary Tree Level Order Traversal (二叉树的层序遍历)
    c++ STL:队列queue、优先队列priority queue 的使用
    leetcode题解:Binary Tree Postorder Traversal (二叉树的后序遍历)
    算术表达式解析(第三版)词法分析版
    经典算法:牛顿迭代法求平方根
    进入游戏行业1年的总结
  • 原文地址:https://www.cnblogs.com/adf520/p/12945759.html
Copyright © 2011-2022 走看看