个人练习代码库/VideoView封装
2018-03-26 15:32
351 查看
简单的VideoView方法应用+权限判断
import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Environment;
import android.support.annotation.NonNull;
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;
import java.io.File;
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.videoView);
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, Manifest.permission.
WRITE_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.
WRITE_EXTERNAL_STORAGE},1);
}else {
initVideoPath();//初始化
}
}
private void initVideoPath() {
File file=new File(Environment.getExternalStorageDirectory(),"movie.mp4");
videoView.setVideoPath(file.getPath());
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull 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 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;
}
}
@Override
protected void onDestroy() {
super.onDestroy();
if (videoView!=null){
videoView.suspend();
}
}
}
import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Environment;
import android.support.annotation.NonNull;
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;
import java.io.File;
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.videoView);
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, Manifest.permission.
WRITE_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.
WRITE_EXTERNAL_STORAGE},1);
}else {
initVideoPath();//初始化
}
}
private void initVideoPath() {
File file=new File(Environment.getExternalStorageDirectory(),"movie.mp4");
videoView.setVideoPath(file.getPath());
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull 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 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;
}
}
@Override
protected void onDestroy() {
super.onDestroy();
if (videoView!=null){
videoView.suspend();
}
}
}
相关文章推荐
- 个人练习代码库/封装MediaPlayer
- DX开发框架封装及Win32框架封装(个人练习版)
- 个人封装的Java工具包
- C primer plus 第七章 C控制语句-分支和跳转 编程练习个人答案
- 敏捷个人手机应用:如何进行敏捷个人练习
- 敏捷个人第六次练习讨论:个人价值观练习
- C++ primer 第五版 中文版 练习 9.3 & 练习 9.4 个人 code
- Objective - C基础: 第二天 - 2.封装练习以及注意事项
- C++ primer 第五版 中文版 练习 10.2 个人code
- 学习练习--UI界面实现个人所得税计算
- C++ primer 第五版 中文版 练习 10.21 个人code
- C++ primer 第五版 中文版 练习 11.23 个人code
- C++ primer 第五版 中文版 练习 12.19 个人code
- 机器学习-周志华-个人练习11.1
- C++ Primer 第五版 中文版 练习 12.26 个人code
- C++ Primer 第五版 中文版 练习 13.14&13.15&14.16&14.17 个人code
- [原]prototype个人练习 自动完成(autocomplete)+ajax updater
- javaBean 练习—封装学生信息
- Java编程思想第四版*第七章*个人练习
- Android 实战 - 个人App乐逗项目(查看网页链接封装,播放视频封装)