1.去下载SDK
https://cloud.baidu.com/doc/Downloadcenter/player.html#SDK.E4.B8.8B.E8.BD.BD
2.解压
我们这篇博客只需要用到sample ,没错就是demo示例。
3.去android studio新建一个工程。
然后new 一个module,module就为我们的sample,改一下module的名字。
然后将app模块依赖新module。(这样快速集成了,新module里面有so, jar ,辅助类,等,比单独集成SDK好)
还要改一些新module的配置,标记如下:
4.使用BDCloudVideoView播放器
布局:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <com.baidu.cloud.videoplayer.widget.BDCloudVideoView android:layout_width="match_parent" android:layout_height="300dp" android:id="@+id/paly"> </com.baidu.cloud.videoplayer.widget.BDCloudVideoView> <com.baidu.cloud.videoplayer.demo.bar.SimpleMediaController android:id="@+id/con" android:layout_width="match_parent" android:layout_height="50dp" android:layout_alignBottom="@+id/paly" android:layout_alignParentStart="true"> </com.baidu.cloud.videoplayer.demo.bar.SimpleMediaController> </RelativeLayout>
代码:
public class MainActivity extends AppCompatActivity {
BDCloudVideoView videoView;
int i = 0;
int j = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mainn);
videoView = (BDCloudVideoView) findViewById(R.id.paly);
final SimpleMediaController controller = (SimpleMediaController) findViewById(R.id.con);
controller.setMediaPlayerControl(videoView);
controller.enableControllerBar(true); //控制条可移动
videoView.setOnPreparedListener(new IMediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(IMediaPlayer iMediaPlayer) {
controller.setMax(videoView.getDuration());
}
});
/*//信息回调
videoView.setOnInfoListener(new IMediaPlayer.OnInfoListener() {
@Override
public boolean onInfo(IMediaPlayer iMediaPlayer, int i, int i1) {
return true;
}
});*/
/*//调节播放位置
videoView.setOnSeekCompleteListener(new IMediaPlayer.OnSeekCompleteListener() {
@Override
public void onSeekComplete(IMediaPlayer iMediaPlayer) {
controller.setProgress(videoView.getCurrentPosition());
}
});*/
/*videoView.setOnBufferingUpdateListener(new IMediaPlayer.OnBufferingUpdateListener() {
@Override
public void onBufferingUpdate(IMediaPlayer iMediaPlayer, int i) {
}
});*/
//控制条可自动移动
videoView.setOnPlayerStateListener(new BDCloudVideoView.OnPlayerStateListener() {
@Override
public void onPlayerStateChanged(BDCloudVideoView.PlayerState nowState) {
controller.changeState();
}
});
videoView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (i == 0){
controller.hide();
i = 1;
} else if (i == 1){
controller.show();
i = 0;
}
}
});
//如果不设置下面方法,则控件大小不管用,直接会变成视频的大小
videoView.setVideoScalingMode(BDCloudVideoView.VIDEO_SCALING_MODE_SCALE_TO_MATCH_PARENT); //不是视频大小,而是控件大小
videoView.setVideoPath("http://192.168.31.223:8080/YunZhiApp/shiping/kecheng.mp4");
videoView.start();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
int len = videoView.getCurrentPosition();
int max = videoView.getDuration();
int shiji = (len * 100)/max;
Toast.makeText(this, len + " " + max + " " + shiji, Toast.LENGTH_SHORT).show(); //获取进度
}
return super.onKeyDown(keyCode, event);
}
}