快3网上购买

android实现本地视频的播放,类似于一个小型的MP4,可以选用本地的文件进行播放

电脑杂谈  发布时间:2019-09-03 01:07:21  来源:网络整理

mp4播放_java jmf播放rtsp视频_mp4播放器java版

本文链接:

首先呢我们来看一下布局文件中的代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
   >
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <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"/>
        <Button
            android:id="@+id/choice"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Choice"/>
    </LinearLayout>
    <VideoView
        android:id="@+id/video_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

mp4播放器java版_java jmf播放rtsp视频_mp4播放

这上面也没啥特别的,就包括了四个按钮和一个播放视频的图标,按钮分别用来控制视频的播放,暂停,重新开始mp4播放器java版,和选择文件

代码后面写的非常明白了

然后我们来看一下主函数的代码:

mp4播放_mp4播放器java版_java jmf播放rtsp视频

package com.example.pc_ly.playvideotest;
import android.Manifest;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Environment;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v4.os.EnvironmentCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import android.widget.VideoView;
import java.io.File;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
  private VideoView videoView;
    private static final int FILE_SELECT_CODE=1;
    private static final String TAG="VideoActivity";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        videoView=(VideoView)findViewById(R.id.video_view);
        Button play=(Button)findViewById(R.id.play);
        Button pause=(Button)findViewById(R.id.pause);
        Button replay=(Button)findViewById(R.id.replay);
        Button choice=(Button)findViewById(R.id.choice) ;//按钮的初始化
        choice.setOnClickListener(this);
        play.setOnClickListener(this);
        pause.setOnClickListener(this);
       replay.setOnClickListener(this);//给按钮加
        if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED){
            ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},1);//判断你是否授权
        }
        else {
            inintVideoPath();
        }
    }
    private void inintVideoPath(){
        File file=new File(Environment.getExternalStorageDirectory(),"movie.mp4");//打开软件直接播放的视频名字是movie.mp4
        videoView.setVideoPath(file.getPath());//指定视频文件的路径
    }
    public void onRequestPermissionsResult(int requestCode,String[] permissions,int[] grantResults){
        switch (requestCode){
            case 1:
                if(grantResults.length>0&&grantResults[0]==PackageManager.PERMISSION_GRANTED){
                    inintVideoPath();
                }
                else {
                    Toast.makeText(this,"拒绝权限将无法访问程序",Toast.LENGTH_SHORT).show();
                    finish();
                }
                break;
            default:
        }
    }
    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;
            case R.id.choice://选择文件
                Intent intent=new Intent(Intent.ACTION_GET_CONTENT);
                intent.setType("*/*");//设置类型,这是任意类型
                intent.addCategory(Intent.CATEGORY_OPENABLE);
                startActivityForResult(intent,1);
        }
    }
    public void onDestroy(){//释放资源
        super.onDestroy();
        if(videoView!=null){
            videoView.suspend();
        }
    }
    public void onActivityResult(int requestCode,int resultCode,Intent data){
        if(resultCode== Activity.RESULT_OK){
            Uri uri=data.getData();
            videoView.setVideoURI(uri);//将选择的文件路径给播放器
            super.onActivityResult(requestCode, resultCode, data);
            return;
        }
        if (requestCode == FILE_SELECT_CODE) {
            Uri uri = data.getData();
            Log.i(TAG, "------->" + uri.getPath());
        }
        super.onActivityResult(requestCode, resultCode, data);
    }
   //public void choseFile(){
    ///    Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
    //    intent.setType("*/*");
    //    intent.addCategory(Intent.CATEGORY_OPENABLE);
    //    try {
    //        startActivityForResult(Intent.createChooser(intent, "选择文件"), FILE_SELECT_CODE);
    //    } catch (android.content.ActivityNotFoundException ex) {
    //        Toast.makeText(this, "亲,木有文件管理器啊-_-!!", Toast.LENGTH_SHORT).show();
    //    }
   // }
}

这上面的注解比较具体,我就不再啰嗦了,刚开启软件点击播放会播放sd卡根目录下名字为movie.MP4的文件,你也可以自己设定,或者只好不要,然后选取文件以后,点击播放都会播放你选取的文件啦,效果如下图

mp4播放器java版_java jmf播放rtsp视频_mp4播放

最后还要切记的一个问题是要记得授权哦mp4播放器java版,如下图,在AndroidManifest加入这一行代码即可:

可能android平台非常老的话会出现一些疑问,目前大部分的机型都是没问题的,当然要想播放其它种类的文件也有可以滴,只是代码应该做一些改变,有兴趣的童鞋可以去试一试啊,有疑问的也可以在下方留言哦!

mp4播放器java版_mp4播放_java jmf播放rtsp视频

邮箱:2321591758@qq.com

其他博客的链接:

Github个人网站 知乎 简书

欢迎大家访问哦,这次就到这儿啦!


本文来自电脑杂谈,转载请注明本文网址:
http://www.kadakong.com/a/bofangqi/article-121500-1.html

    相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 范静
      范静

      >美帝胆敢违反国际法

    • 木村遥
      木村遥

      所谓“日本潜艇强于中国”的说法完全是无稽之谈

    状元彩票开户 快3在线投注 欢乐生肖官方网站 辽宁快乐12开奖结果 快3投注官网 快3投注网 冠军彩票投注 状元彩票开户 快三 快3娱乐平台