加入依賴
// required, enough for most devices.
compile 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
compile 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.8'
// Other ABIs: optional
compile 'tv.danmaku.ijk.media:ijkplayer-armv5:0.8.8'
compile 'tv.danmaku.ijk.media:ijkplayer-arm64:0.8.8'
compile 'tv.danmaku.ijk.media:ijkplayer-x86:0.8.8'
compile 'tv.danmaku.ijk.media:ijkplayer-x86_64:0.8.8'
// ExoPlayer as IMediaPlayer: optional, experimental
compile 'tv.danmaku.ijk.media:ijkplayer-exo:0.8.8'
創建佈局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<SurfaceView
android:id="@+id/video_view"
android:layout_width="match_parent"
android:layout_height="300dp" />
</LinearLayout>
創建VideoPlayerActivity
public class VideoPlayerActivity extends BaseActivity {
private IjkMediaPlayer mPlayer;
@BindView(R.id.video_view)
SurfaceView videoView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video_player);
ButterKnife.bind(this);
videoView.getHolder().addCallback(callback);
}
@Override
protected void onDestroy() {
videoView.getHolder().removeCallback(callback);
super.onDestroy();
}
private SurfaceHolder.Callback callback = new SurfaceHolder.Callback() {
@Override
public void surfaceCreated(SurfaceHolder holder) {
createPlayer();
mPlayer.setDisplay(videoView.getHolder());
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
releasePlayer();
}
};
private void createPlayer() {
if (mPlayer == null) {
mPlayer = new IjkMediaPlayer();
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
mPlayer.setDataSource("http://9890.vod.myqcloud.com/9890_4e292f9a3dd011e6b4078980237cc3d3.f30.mp4");
} catch (IOException e) {
e.printStackTrace();
}
mPlayer.prepareAsync();
}
}
private void releasePlayer() {
if (mPlayer != null) {
mPlayer.stop();
mPlayer.release();
mPlayer = null;
}
IjkMediaPlayer.native_profileEnd();
}
}
啓動該activity就能播放直接播放視頻了