第一步:導(dǎo)入依賴(lài)
implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
implementation 'com.github.bumptech.glide:glide:4.9.0' //圖片加載框架
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0' //圖片加載框架注解處理器
implementation 'cn.jzvd:jiaozivideoplayer:7.3.0'
第二步:添加權(quán)限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!-- <uses-permission android:name="android.permission.CAMERA"/>-->
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
第三步:添加鏡像
allprojects {
repositories {
google()
jcenter()
maven { url 'https://jitpack.io' }
}
}
MainAcivity的完整代碼:
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private final static int FLAG_REQUEST_CAMERA_VIDEO = 2;
private List<LocalMedia> selectList;
private String video_path;
private View add_view;
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
PermissionMgr.getInstance().onRequestPermissionsResult(this, requestCode, permissions, grantResults);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
PermissionMgr.getInstance().requestPermissions(this);
initView();
}
private void initView() {
add_view = findViewById(R.id.add);
add_view.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.add:
doPickImageFromSystem();
break;
}
}
private void doPickImageFromSystem() {
PictureSelector.create(this)
.openGallery(PictureMimeType.ofVideo())
.maxVideoSelectNum(1)
.loadImageEngine(GlideEngine.createGlideEngine()) // 請(qǐng)參考Demo GlideEngine.java
.forResult(PictureConfig.CHOOSE_REQUEST);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
switch (requestCode) {
case PictureConfig.CHOOSE_REQUEST:
// 結(jié)果回調(diào)
selectList = PictureSelector.obtainMultipleResult(data);
Log.d("TAG", "onActivityResult: " + selectList.get(0).getRealPath());
video_path = selectList.get(0).getRealPath();
add_view.setVisibility(View.GONE);
doDisplay();
break;
default:
break;
}
}
}
private void doDisplay() {
JzvdStd jzvdStd = (JzvdStd) findViewById(R.id.videoplayer);
jzvdStd.setUp(video_path
, "餃子閉眼睛");
jzvdStd.posterImageView.setImageResource(R.drawable.ic_launcher_background);
}
}