做为一个android平台vlc的测试程序,例子只有简单的播放、停止功能,界面只有四个控件,播放、停止按钮,设置url,显示surface。
稳定性遗憾的是vlc不能对接上openmax硬解。
vlc版本:vlc-2.0.0
package org.videolan.vlc;
import java.io.IOException;
import android.app.Activity;
import android.graphics.PixelFormat;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.SurfaceHolder.Callback;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.EditText;
public class vlcplayerActivity extends Activity {
/** Called when the activity is first created. */
public class ClickEvent implements OnClickListener {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v==mplayerbtn)
{
try {
mLibVLC.readMedia(murlPath.getText().toString());
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else if(v==mstopbtn)
{
mLibVLC.stop();
}
}
}
public final static String TAG = "VLC/VideoPlayerActivity";
private Button mplayerbtn = null;
private Button mstopbtn = null;
private SurfaceView mvideoserface = null;
private SurfaceHolder surfaceHolder;
private EditText murlPath = null;
private LibVLC mLibVLC;
// size of the video
private int mVideoHeight;
private int mVideoWidth;
private static final int SURFACE_SIZE = 3;
private static final int SU