当前位置: 首页 > 软件库 > iOS代码库 > 视频(Video) >

KJPlayer

动态切换内核的播放器方案
授权协议 MIT
开发语言 Objective-C Swift
所属分类 iOS代码库、 视频(Video)
软件类型 开源软件
地区 国产
投 递 者 富辰阳
操作系统 iOS
开源组织
适用人群 未知
 软件概览

KJPlayer 是一个动态切换内核,支持边下边播的播放器方案

特性

  • 支持音/视频播放,midi文件播放
  • 支持在线播放/本地播放
  • 支持后台播放,音频提取播放
  • 支持视频边下边播,分片下载播放存储
  • 支持断点续载续播,下次直接优先从缓冲读取播放
  • 支持缓存管理,清除时间段缓存
  • 支持试看,自动跳过片头片尾
  • 支持记录上次播放时间
  • 支持自动播放,自动连续播放
  • 支持随机/重复/顺序播放
  • 支持重力感应,全屏/半屏切换
  • 支持基本手势操作,进度音量等
  • 支持锁定屏幕
  • 长按快进快退等操作
  • 支持倍速播放
  • 支持切换不同分辨率视频
  • 支持直播流媒体播放
  • 持续更新ing...

视频支持格式:mp4、m3u8、wav、avi   音频支持格式:midi、mp3、


免费试看功能

  • 该功能类似于Vip会员观看性质,充值之后继续播放观看模式
// MARK: - KJPlayerFreeDelegate
extension DetailsViewController: KJPlayerFreeDelegate {

    /// 获取免费试看时间
    /// - Parameter player: 播放器内核
    /// - Returns: 试看时间,返回零不限制
    func kj_freeLookTime(with player: KJBasePlayer) -> TimeInterval {
        return 50
    }
    
    /// 试看结束响应
    /// - Parameters:
    ///   - player: 播放器内核
    ///   - currentTime: 当前播放时间
    func kj_freeLookTime(with player: KJBasePlayer, currentTime: TimeInterval) {
        
    }
}
  • 充值之后恢复观看权限
self.player.kj_closeFreeLookTimeLimit()

CocoaPods安装尝试观看模块

pod 'KJPlayer/FreeTime' # vip尝试观看功能

跳过片头片尾功能

  • 该功能很明确就是类似于观看视频跳过片头和片尾功能
// MARK: - KJPlayerSkipDelegate
extension DetailsViewController: KJPlayerSkipDelegate {

    /// 跳过片头
    /// - Parameter player: 内核
    /// - Returns: 需要跳过的时间
    func kj_skipOpeningTime(with player: KJBasePlayer) -> TimeInterval {
        return 18
    }
    
    /// 跳过片头响应
    /// - Parameters:
    ///   - player: 内核
    ///   - openingTime: 跳过播放时间
    func kj_skipOpeningTime(with player: KJBasePlayer, openingTime: TimeInterval) {
        self.backview.hintTextLayer.kj_displayHintText("跳过片头,自动播放",
                                                       time: 5,
                                                       position: KJPlayerHintPositionBottom)
    }
}

CocoaPods安装跳过片头片尾模块

pod 'KJPlayer/SkipTime' # vip跳过片头片尾功能

记忆播放功能

  • 该功能会自动记忆上次播放时间,下次直接无缝开始继续播放
// MARK: - KJPlayerRecordDelegate
extension DetailsViewController: KJPlayerRecordDelegate {

    /// 获取是否需要记录响应
    /// - Parameter player: 播放器内核
    /// - Returns: 是否需要记忆播放
    func kj_recordTime(with player: KJBasePlayer) -> Bool {
        return true
    }
    
    /// 获取到上次播放时间响应
    /// - Parameters:
    ///   - player: 播放器内核
    ///   - lastTime: 上次播放时间
    func kj_recordTime(with player: KJBasePlayer, lastTime: TimeInterval) {
        
    }
}
  • 主动选择储存记忆
self.player.kj_saveRecordLastTime()

CocoaPods安装自动记忆播放模块

pod 'KJPlayer/RecordTime' # vip自动记忆播放功能

备注提示:该功能大于跳过片头功能,简单讲就是该功能实现之后下次会直接从上次播放位置开始继续观看


其余功能模块

1.播放器模块

  • midi内核:pod 'KJPlayer/MIDI'
  • ijk内核:pod 'KJPlayer/IJKPlayer'
  • av内核:pod 'KJPlayer/AVPlayer/AVCore'
  • 自定义UI:pod 'KJPlayer/CustomView'
  • 数据库:pod 'KJPlayer/Database'

2.功能区域模块

  • AVPlayer内核扩展功能     - 边下边播边存分支:pod 'KJPlayer/AVPlayer/AVDownloader'
  • 记忆播放:pod 'KJPlayer/RecordTime'
  • 尝鲜播放:pod 'KJPlayer/FreeTime'
  • 跳过片头片尾:pod 'KJPlayer/SkipTime'
  • 缓存板块:pod 'KJPlayer/Cache'
  • 视频截屏板块:pod 'KJPlayer/Screenshots'
  • 切换内核:pod 'KJPlayer/DynamicSource   - 目前支持3种内核:AVPlayer内核、MIDI内核、IJKPlayer内核

大致流程就差不多这样子,Demo也写的很详细,可以自己去看看��

KJPlayerDemo

总结:先把基本的壳子完善,后面再慢慢来补充其他的内核,如若觉得有帮助请帮忙点个星,有什么问题和需求也可以Issues

关于作者

救救孩子吧,谢谢各位老板。

 

 相关资料
  • 本文向大家介绍centos7切换启动内核与切换启动模式的讲解,包括了centos7切换启动内核与切换启动模式的讲解的使用技巧和注意事项,需要的朋友参考一下 centos7切换启动内核 注:建议如果需要的话,可以先执行yum update -y,升级所有软件包 注意事项: 1、我用于测试的CentOS是7.2版本,默认最小化安装,系统内核是3.10.0-327。 2、升级到4.4.x以后,如果随意使

  • 下面的代码为按钮添加缩放动画。 播放完动画后,我需要切换到其他活动。我试图建立如下逻辑: Android Studio发誓:新动画。动画监听器()

  • 本文向大家介绍js动态切换图片的方法,包括了js动态切换图片的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js动态切换图片的方法。分享给大家供大家参考。具体实现方法如下: index.css文件如下: index.html如下: 希望本文所述对大家的javascript程序设计有所帮助。

  • 我的程序应该播放打喷嚏和擤鼻涕的声音。如果点击了打喷嚏声音的按钮,它就会被播放。在此之后,如果设备得到旋转,它应该播放鼻涕声音(反之亦然,为鼻涕按钮)。我一直在尝试使用onSaveInstance和onRestoreInstance,但它们都不起作用。我漏了什么吗? 下面是我目前在主activity上的代码: 我还在清单文件中添加了配置更改

  • 本文向大家介绍jQuery实现自动切换播放的经典滑动门效果,包括了jQuery实现自动切换播放的经典滑动门效果的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery实现自动切换播放的经典滑动门效果。分享给大家供大家参考。具体如下: 这是一个滑动门代码,从外观上看,简洁经典,似乎与平时见到的滑动门没什么区别,不过它有一个重要的功能与众不同,那就是会自动切换【播放】滑动门的内容,像腾讯Q

  • 本文向大家介绍用Python将动态GIF图片倒放播放的方法,包括了用Python将动态GIF图片倒放播放的方法的使用技巧和注意事项,需要的朋友参考一下 这次让我们一个用 Python 做一个小工具:将动态 GIF 图片倒序播放! GIF(Graphics Interchange Format) 是一种可以用来呈现动画效果的图片格式,原理就是保存很多帧(Frame)静态图像,然后连续呈现。很多简短的

  • 主要目标是想让儿童可以以最好的体验来看动画片。 1、支持记录每一部动画片的当前播放位置,方便下次打开的时候可以接着看。 2、可以增加片头、片尾的时间点,不用每次都播放重复内容。 3、播放、暂停、上一集、下一集、快照、全屏等。

  • 本文向大家介绍Jquery实现动态切换图片的方法,包括了Jquery实现动态切换图片的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Jquery实现动态切换图片的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的jQuery程序设计有所帮助。