双击 JWPlayer 禁用全屏 iOS

Disabling Fullscreen With Double Tap on JWPlayer For iOS

我正在尝试将 UITapGestureRecognizer (doubleTap) 添加到我的应用程序中的 JWPlayerController

目前,当您双击视频 (JWPlayer) 时,它会默认以全屏模式启动。期望的行为是将此手势绑定到不同的事件(喜欢,la Most),对于想要视频全屏的用户可以使用全屏扩展按钮。

在 SDK 中,您似乎只能更改布尔值 isInFullScreen禁用 双击全屏功能不可行.这是真的?

这是我尝试附加到 player 的手势,目前它附加到 mediaHeaderView

private extension Selector {
    static let doubleWasTapped = #selector(MediaViewController.doubleWasTapped(_:))
}

final class MediaViewController: UITableViewController {
    @IBOutlet weak var webView: UIWebView!
    @IBOutlet weak var mediaHeaderView: UIView!

    weak var mediaPageDelegate: MediaPageDelegate?
    var viewModel: MediaTableViewModel!
    private var player: JWPlayerController?

    // etc

    addDoubleTapGesture()
}

func doubleWasTapped(gesture: UITapGestureRecognizer) {
    viewModel.toggleLikeProducer.start()
}

func addDoubleTapGesture() {
    let doubleTappedGR = UITapGestureRecognizer(target: self, action: #selector(doubleWasTapped))
    doubleTappedGR.numberOfTapsRequired = 2
    doubleTappedGR.delaysTouchesBegan = true
    mediaHeaderView!.addGestureRecognizer(doubleTappedGR)
}

提前致谢!

我最近与 jwplayer 团队进行了交谈。查看代码,您会发现 isInFullScreen 是一个只读的 属性(查看名称是有道理的)。他们提供的唯一当前但不是很好的修复是禁用对配置文件的控制(config.controls)。如果您将此设置为 false,则双击全屏不再有效。他们的网站上还有这个 post:https://support.jwplayer.com/customer/portal/questions/8123742-disable-fullscreen