IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> swift学习之旅---SJVideoPlayer库 -> 正文阅读

[移动开发]swift学习之旅---SJVideoPlayer库

SJVideoPlayer(swift)

https://github.com/changsanjiang/SJVideoPlayer 非常优秀的库,而且里面有大量的demo来供我们学习,给作者加颗星不过分吧

610197491 库作者的官方群,如果遇到奇葩的问题找江哥解决

pod ‘SJVideoPlayer’

哔哩哔哩的ijkplayer在M1电脑跑太糟心了,真机不能跑,报的错误都是关于arm64的,网上我找不到教程,而且作者也好像不管这个库的更新了,到目前为止最近一次更新为5个月前,发了issues也没人解答

如果哪个大哥也是用M1 ijkplayer的请教教小弟

sjvideoplayer如果不设置是默认为avplayer为内核播放的,并且支持cell播放,自定义播放器样式,全屏、iOS14功能的画中画也支持,给作者大大的点赞

配置环境

pod install教程不说了

在真机iphone6的真机上旋转出现异常 可以看官方给出的答案 https://github.com/changsanjiang/SJVideoPlayer/wiki/点击旋转卡死或者旋转出现异常%3F

直接用作者的源代码

//
//  UIViewController+SJConfigureRotation.m
//  SJVideoPlayerDemo
//
//  Created by 畅三江 on 2019/10/20.
//  Copyright ? 2019 畅三江. All rights reserved.
//

#import "UIViewController+SJConfigureRotation.h"
   
// step 3:
@implementation UIViewController (SJConfigureRotation)
- (BOOL)shouldAutorotate {
    return NO;
}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskPortrait;
}
@end


@implementation UITabBarController (SJConfigureRotation)
- (UIViewController *)sj_topViewController {
    if ( self.selectedIndex == NSNotFound )
        return self.viewControllers.firstObject;
    return self.selectedViewController;
}

- (BOOL)shouldAutorotate {
    return [[self sj_topViewController] shouldAutorotate];
}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
    return [[self sj_topViewController] supportedInterfaceOrientations];
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
    return [[self sj_topViewController] preferredInterfaceOrientationForPresentation];
}
@end

@implementation UINavigationController (SJConfigureRotation)
- (BOOL)shouldAutorotate {
    return self.topViewController.shouldAutorotate;
}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
    return self.topViewController.supportedInterfaceOrientations;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
    return self.topViewController.preferredInterfaceOrientationForPresentation;
}

- (nullable UIViewController *)childViewControllerForStatusBarStyle {
    return self.topViewController;
}

- (nullable UIViewController *)childViewControllerForStatusBarHidden {
    return self.topViewController;
}
@end

想要在cell里的cover图(UIImageView)播放
后面的coverImage就是他的子类
就要继承SJPlayModelPlayerSuperview

import UIKit
import SJVideoPlayer
class PlayerSuperImageView: UIImageView,SJPlayModelPlayerSuperview {

}

请求图片网络图片就按照正常的来就行,sdwebimage yywebimage都可以,因为他是继承UIImageview

搞个点击事件

func setGesture() {
        coverImage.isUserInteractionEnabled = true
        let tap = UITapGestureRecognizer.init(target: self, action: #selector(tapAction))
        coverImage.addGestureRecognizer(tap)
    }
    
    @objc func tapAction() {
        tapGoAction?()
    }
cell.tapGoAction = { [weak self] in
            self?.cellPlay(indexPath)
        }
var player: SJVideoPlayer = SJVideoPlayer()
func cellPlay(_ indexPath: IndexPath) {
        let model = videoModel[indexPath.row]
        if let url = URL(string: model.videoUrl ?? "") {
            player.urlAsset = SJVideoPlayerURLAsset.init(url:url, playModel: SJPlayModel.init(tableView: playerContainView, indexPath: indexPath))
            player.urlAsset?.title = model.title
        }
    }

这样就能在cell的imageview里播放,简单的一批

想要修改播放器,画中画可以在https://github.com/changsanjiang/SJVideoPlayer 里的demo文件找到想要的

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-09-23 11:34:50  更:2021-09-23 11:35:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:35:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码