播放音频和视频(VideoView控件)

以播放音频为例:是否有读写SD卡的权限,没有就申请,要重写onRequestPermissionsResult()方法,有就进行操作。先创建一个对象MediaPlayer mMediaPlayer = new MediaPlayer();在进行点击按钮的时候,先判断音频是否在播放isPlaying(),然后是音频的各种方法

start()//开始播放,

mMediaPlayer.pause();//暂停播放,

mMediaPlayer.reset();//停止播放,重置为刚创建状态

关闭程序的时候要释放播放的资源释放资源要在获得销毁的方法onDestroy()内进行:

mMediaPlayer.stop();

mMediaPlayer.release();

还要添加读写SD卡的权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

播放视频和播放音频大致一样,添加的权限也一样,不过用到VideoView控件,该控件和其余UI控件一样使用,setVideoPath(file.getPath()),利用该方法将视频资源的文件路径放进去,就可获得该视频,

mVvShow.start();//开始播放
mVvShow.pause();//暂停播放

mVvShow.resume();//重新播放
mVvShow.suspend();//释放掉资源
 
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 {
            try {
File file = new File("/mnt/sdcard/aa.mp3");
mMediaPlayer.setDataSource(file.getPath());//指定音频文件的路径
mMediaPlayer.prepare();//音频文件进入准备状态
} catch (IOException e) {
e.printStackTrace();
}
}
  @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){
                    try {
File file = new File("/mnt/sdcard/aa.mp3");
mMediaPlayer.setDataSource(file.getPath());//指定音频文件的路径
mMediaPlayer.prepare();//音频文件进入准备状态
} catch (IOException e) {
e.printStackTrace();
}
}
else { Toast.makeText(this, "权限获取失败", Toast.LENGTH_SHORT).show(); finish(); } break; default: break; } }
原文地址:https://www.cnblogs.com/zhoushenglei/p/7194219.html