1. 程式人生 > >Android VideoView播放avi格式視訊有聲音無影象問題

Android VideoView播放avi格式視訊有聲音無影象問題

   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
.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(); } }
安卓預設支援的視訊格式: 3gp mp4