android 视频播放器 饺子播放器
1.饺子播放器集成
implementation 'cn.jzvd:jiaozivideoplayer:6.2.12'
2.添加xml控件
<cn.jzvd.JZVideoPlayerStandard android:id="@+id/videoPlayer" android:scaleType="fitXY" android:layout_width="match_parent" android:layout_height="match_parent" > </cn.jzvd.JZVideoPlayerStandard>
3.设置全屏 拉伸铺满屏幕 去掉头部阴影 去掉屏幕俩边黑边 监听完成进度 设置默认图 暂停 继续 不要返回键
jiecao_video = (JZVideoPlayerStandard) findViewById(R.id.videoPlayer); jiecao_video.SAVE_PROGRESS = false; jiecao_video.TOOL_BAR_EXIST = false; jiecao_video.hideSupportActionBar(MainActivity_Video.this); jiecao_video.thumbImageView.setScaleType(ImageView.ScaleType.FIT_XY); jiecao_video.thumbImageView.setImageResource(R.mipmap.video_thume); jiecao_video.setUp(json, JCVideoPlayerStandard.SCREEN_LAYOUT_NORMAL, ""); JZVideoPlayer.setVideoImageDisplayType(JZVideoPlayer.VIDEO_IMAGE_DISPLAY_TYPE_FILL_PARENT);// JZUtils.getAppCompActivity(this).getSupportActionBar(); jiecao_video.hideSupportActionBar(this); jiecao_video.startVideo();
@Override protected void onDestroy() { super.onDestroy(); if (jiecao_video != null) { jiecao_video.release(); } JZVideoPlayerStandard.releaseAllVideos(); }
private boolean isPlayResume=false; @Override protected void onPause() { super.onPause(); JZVideoPlayerStandard.goOnPlayOnPause(); isPlayResume = true; }
@Override protected void onResume() { super.onResume(); if (isPlayResume) { JZVideoPlayerStandard.goOnPlayOnResume(); isPlayResume = false; } }
Handler myHandler = new Handler(); private Runnable runnableStar = new Runnable() { @Override public void run() { try { if (!StringUtils.isEmpty(json) && null != jiecao_video) { LogUtils.e("当前播放状态" + jiecao_video.getCurrentPositionWhenPlaying()); if (jiecao_video.currentState == CURRENT_STATE_AUTO_COMPLETE) { test.setVisibility(View.VISIBLE); return; } } } catch (Exception e) { } myHandler.postDelayed(this, 1000); } };
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通