播放音頻和視頻(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; } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM