Android VideoView播放avi格式視訊有聲音無影象問題
阿新 • • 發佈:2018-11-12
1.新增許可權:
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
2.定義 VideoView
<VideoView android:id="@+id/video"android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" />
3. Activity:
public VideoView videoView;//宣告Video 物件
videoView=(VideoView)findViewById(R.id.video);
public void playVedio(){ File file =new File("/sdcard/Movies/視訊9 再製影象.flv");//獲取SD上的檔案---flv格式可以播放
// File file =new File("/sdcard/Movies/01.楊光福_Android_JNI_什麼jni.avi");//獲取SD上的檔案---avi ---有聲音無影象
// File file =new File("/sdcard/Movies/Wildlife.wmv");//獲取SD上的檔案---提示無檔案
//例項化媒體控制器 MediaController mediaController=new MediaController(this); if(file.exists()){ videoView安卓預設支援的視訊格式: 3gp mp4.setVideoPath(file.getAbsolutePath());//指定要播放的視訊 videoView.setMediaController(mediaController);//設定 VideoView與 MediaCtroller關聯 videoView.requestFocus();//讓video獲得焦點 try{ videoView.start(); }catch (Exception e){ e.printStackTrace(); Toast.makeText(MyActivity.this,"視訊播放出錯",Toast.LENGTH_SHORT).show(); } videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { Toast.makeText(MyActivity.this,"視訊播放完畢",Toast.LENGTH_SHORT).show(); } }); }else{ Toast.makeText(MyActivity.this,"視訊檔案不存在",Toast.LENGTH_SHORT).show(); } }