ArtPlayer.js:轻量级且可高度自定义的HTML5视频播放器

需积分: 9 4 下载量 136 浏览量 更新于2024-12-08 收藏 83.71MB ZIP 举报
资源摘要信息:"ArtPlayer.js是一个现代且功能齐全的HTML5视频播放器,其特性包括支持多种字幕格式、高度可自定义的播放器界面以及丰富的控制选项。其轻量级的大小仅为25kB,使得它非常适用于需要快速加载和高性能的网页视频应用。 1. 特征概述: - 尺寸小巧:ArtPlayer.js被压缩到了25kB,这对于网页加载性能的优化至关重要,尤其是在网络速度较慢或者需要快速响应的场景中。 - 字幕支持:它支持.VTT(WebVTT)、.ASS和.SRT三种格式的字幕文件,这使得它能够满足绝大多数的字幕需求,无论是简单的文本字幕还是复杂的格式如ASS字幕。 - 可自定义:ArtPlayer.js提供了丰富的自定义选项,例如右键菜单(Right Click Menu)、业务层(Business Layer)、视频控制器(Video Controller)和设置面板(Settings Panel),为用户提供了深入定制播放器外观和行为的能力。 - 控制器功能:它的控制器功能非常丰富,包括画质切换(Quality Switch)、字幕切换(Subtitle Switch)、播放速度调整(Play Speed)、画面比例调整(Aspect Ratio)、视频翻转(Video Flip)、全屏播放(Fullscreen)、画中画(Picture In Picture)、截图(Screenshot)、缩略图生成(Thumbnail)、自适应尺寸调整(Adaptive Size)、高亮播放(Highlight)以及快捷键绑定(Hotkey)等。 - 内置功能:ArtPlayer.js还内置了打开本地字幕(Open Local Subtitles)、打开本地视频(Open Local Video)、迷你播放器(Mini Player)等实用功能。 2. 技术标签: - Screenshot:截图功能,允许用户捕捉视频帧并在需要时进行分享。 - Player:指视频播放器本身,ArtPlayer.js是作为一个JavaScript库来实现视频播放功能。 - Quality:画质切换,用户可以根据自己的网络状况和屏幕大小选择不同画质的视频流。 - Video:视频播放,这是播放器最基本的功能。 - HTML5:表示ArtPlayer.js基于HTML5标准构建,支持现代浏览器。 - Thumbnails:缩略图功能,视频播放器中常用的功能,用于展示视频的不同时间点的预览图。 - Layers:层次,指的是播放器中的不同元素层,比如视频层、控制层等。 - Subtitle:字幕功能,提供视频观看时的多语言支持。 - Danmu:弹幕功能,通常指在视频播放时,观众可以发送评论并实时在视频上展示,这种功能在一些特定的社区和网站中比较流行。 - Highlight:高亮功能,可能指在视频播放时对特定部分进行标记或突出显示。 - Contextmenu:上下文菜单,自定义的右键菜单功能,增强用户交互。 - JavaScript:ArtPlayer.js作为一个JavaScript库,运行在浏览器端,可以直接与网页的JavaScript环境集成。 3. 压缩包子文件的文件名称列表: - ArtPlayer-master:表明这是ArtPlayer.js的源代码仓库或者项目文件夹名称,通常包含源代码、文档、示例、构建脚本等。 在使用ArtPlayer.js时,开发者可以通过其丰富的API进行视频播放相关的自定义开发,无论是调整样式、改变播放行为还是添加特定的功能,都有很大的灵活性。由于其轻量和多功能性,ArtPlayer.js适合用在多种不同的项目中,包括但不限于教育网站、视频博客、在线课程以及产品展示等应用场景。"
2019-09-24 上传
这是一个灵活的视频播放器。 MediaPlayer与VideoView完全分开,可以替换为其他播放器内核,如ExoPlayer和ijkPlayer。 可以完全自定义播放器视图,我们称之为控制面板。 此外,可以使用MediaPlayerManager来控制播放行为,例如全屏模式,小屏幕模式以及RecyclerView中的智能匹配模式。Features全屏,小屏播放内部支持RecyclerView中播放自定义UIAPP内全局播放静音循环播放手势操作(小窗:单指拖动,双指缩放;全屏:音量,亮度,快进)ijkPlayer支持ExoPlayer支持重力感应支持PreviewDownloadDemo DownloadGetting startedbuild.gradledependencies {     // required     implementation 'org.salient.artvideoplayer:artplayer-java:0.6.0'     // Default control panel: optional     implementation 'org.salient.artvideoplayer:artplayer-ui:0.6.0'      //ijkPlayer: optional      implementation 'org.salient.artvideoplayer:artplayer-ijk:0.6.0'      implementation "org.salient.artvideoplayer:artplayer-armv7a:0.6.0"       //Other ABIs: optional      implementation "org.salient.artvideoplayer:artplayer-armv5:0.6.0"      implementation "org.salient.artvideoplayer:artplayer-x86:0.6.0"      // Other ABIs: optional (minSdk version >= 21)      implementation "org.salient.artvideoplayer:artplayer-arm64:0.6.0"      implementation "org.salient.artvideoplayer:artplayer-x86_64:0.6.0"      //ExoPlayer2 : optional      implementation "org.salient.artvideoplayer:artplayer-exo:0.6.0" }Usagejavaimport org.salient.artplayer.VideoView;VideoView videoView = new VideoView(this); videoView.setUp("http://vfx.mtime.cn/Video/2018/06/27/mp4/180627094726195356.mp4"); videoView.setControlPanel(new ControlPanel(this)); videoView.start();xmlAndroidManifest.xml <!-- required -->Activity@Overridepublic void onBackPressed() {  if (MediaPlayerManager.instance().backPress(this)) {      return;   }  super.onBackPressed(); }@Overrideprotected void onPause() {  super.onPause();  MediaPlayerManager.instance().pause(); }@Overrideprotected void onDestroy() {  super.onDestroy();  MediaPlayerMa