博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
安卓播放视频
阅读量:7222 次
发布时间:2019-06-29

本文共 3131 字,大约阅读时间需要 10 分钟。

播放视频

1.页面布局

2.配置权限

3.功能实现

package demo.jq.com.playvideotest;import android.content.pm.PackageManager;import android.net.Uri;import android.support.v4.app.ActivityCompat;import android.support.v4.content.ContextCompat;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.Toast;import android.widget.VideoView;/** * @author jim */public class MainActivity extends AppCompatActivity implements View.OnClickListener{    private VideoView videoView;    @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);        play.setOnClickListener(this);        pause.setOnClickListener(this);        replay.setOnClickListener(this);        if (ContextCompat.checkSelfPermission(MainActivity.this, android.Manifest.permission.WRITE_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED) {            ActivityCompat.requestPermissions(MainActivity.this,new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE},1);        } else {            initVideoPath();        }    }    private void initVideoPath() {        try {            Uri uri = Uri.parse("android.resource://demo.jq.com.playvideotest/"+R.raw.video);            videoView.setVideoURI(uri);        } catch (Exception e) {            e.printStackTrace();        }    }    @Override    public void onRequestPermissionsResult(int requestCode,  String[] permissions,  int[] grantResults) {        switch (requestCode) {            case 1:                if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {                    initVideoPath();                } else {                    Toast.makeText(this,"拒绝权限将无法使用程序",Toast.LENGTH_SHORT).show();                    finish();                }                break;            default:        }    }    @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.seekTo(0);                    videoView.resume();                }                break;            default:                break;        }    }    @Override    public void onDestroy() {        super.onDestroy();        if (videoView != null) {            videoView.suspend();        }    }}

422101-20171021160642881-1353647430.png

真的可以播放哦,视频资源放在raw目录下了。

本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/7705051.html,如需转载请自行联系原作者

你可能感兴趣的文章
[PHP] 网盘搜索引擎-采集爬取百度网盘分享文件实现网盘搜索(二)
查看>>
[日常] nginx与负载均衡
查看>>
五种常见的ASP.NET应用程序安全缺陷
查看>>
jQuery 遍历用法
查看>>
c++ primer 3
查看>>
胖AP与瘦AP区别
查看>>
linux 最大文件描述符
查看>>
LaTeX 插图片
查看>>
mke2fs 制作ext2文件系统image
查看>>
spark集群部署错误告警随记
查看>>
swift -- 代理delegate
查看>>
Windows云服务器购买
查看>>
leetcode之Anagrams
查看>>
C# 获取文件名及扩展名
查看>>
博客作业04--树
查看>>
【汇总】flash单个文件上传
查看>>
Aop实现SqlSugar自动事务
查看>>
自适应网页设计(Responsive Web Design)
查看>>
纯CSS气泡框实现方法探究
查看>>
9.8---硬币问题(CC150)
查看>>