Giter Site home page Giter Site logo

cnkyo / avplayer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from splsylp/avplayer

0.0 2.0 0.0 4.17 MB

自定义视频播放器控件,实现多个视频(在线、本地)切换播放、半全屏切换、滑动手势调节视频进度音量亮度等功能

Swift 100.00%

avplayer's Introduction

AVPlayer

自定义视频播放器控件,实现多个视频(在线、本地)切换播放、半全屏切换、滑动手势调节视频进度音量亮度等功能

image

实现功能

  • 多个视频(章节目录)切换播放
  • 通过点击全屏按钮或者自动转屏实现半全屏切换
  • 通过拖动滑条或者左右滑动手势调节视频进度,上下滑动手势调节音量、屏幕亮度
  • 解决在网速很慢的情况下加载视频导致主线程卡顿的问题
  • 支持播放本地视频和在线视频
  • 进度条等遮罩view点击显示隐藏、定时自动隐藏
  • 该播放器经过项目实战检验安全可靠

使用

创建播放器
playerManager = PlayerManager()
playerManager.delegate = self
playerManager.playerViewFrame = CGRect(x: 0, y: 0, width: SCREEN_WIDTH, height: 210)
view.addSubview(playerManager.playerView)
初始化播放地址
playerManager.playUrlStr = "http://..." // 在线视频或者本地视频的路径
playerManager.seekToTime(18) // 跳转至第18秒的进度位置,从头播放则是0
playerManager.play()
切换播放视频
// 传入要切换的播放地址和定位的时间(秒)
playerManager.changePlayUrl("http://...", startTime: 30)
获取播放视频的当前进度时间和总时间
let currentTime = playerManager.getCurrentTime()
let totalTime = playerManager.getTotalTime()
回调方法
// 返回
func playerViewBack() {
    navigationController?.popViewController(animated: true)
}

// 播放完成(可选)
func playFinished() {
    print("播放完了😁")
}

// 分享(可选) 不需要分享需求的可以把分享按钮hidden掉
func playerViewShare() {
    print("处理分享逻辑")
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.