gpt4 book ai didi

avplayer - Fairplay 播放不工作

转载 作者:行者123 更新时间:2023-12-02 04:35:54 26 4
gpt4 key购买 nike

我们正在用我们的视频播放器实现公平播放,我们能够执行苹果播放 drm 视频所需的所有步骤,但视频就是无法播放。我们能够:

  1. 接听我们代表的电话:shouldWaitForLoadingOfRequestedResource
  2. 在上面的调用中,我们正确地下载了证书,并使用证书+assetId,我们成功生成了SPC
  3. 使用 SPC,我们能够 POST 到许可服务器并成功收到CKC
  4. 有了 CKC,我们称

    loadingRequest.dataRequest?.respond(with: ckcResponseData)  
    loadingRequest.finishLoading()

但是视频没有开始播放。有什么我们想念的吗?我们是否需要“FPS 部署包”才能使其与我们的苹果帐户一起使用?请注意,我们已经在真实设备上进行测试。

最佳答案

如果没有看到您的实现,很难说。无论如何,这就是我根据 FairPlay 的经验可以分享的内容。我假设您的播放器可以播放非加密视频,因此它已得到很好的实现和运行。

如果您成功到达另一侧的“finishLoading”部分(在所有这些发生之前),您需要在播放器上注册为“currentItem.status”的观察者。像这样的东西:

player.addObserver(self, forKeyPath: "currentItem.status", options: NSKeyValueObservingOptions.new, context: nil);

因此,在某个阶段,您将获得 observeValueForKeyPath 回调,您需要检查发生了什么:

override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
// Do any other KVO-related checks... and the following:
if let status = self.player.currentItem?.status {
switch (status) {
case .failed:
// Something went wrong!
self.itemFailed()
case .readyToPlay:
// Item is ready to play, so just .play() it!
self.itemReadyToPlay()
case .unknown:
// Oh-oh.
self.itemUnknown()
}
}
}

如果您已经处于这个阶段,请告诉我您遇到了什么错误。

(这里分享的不是 FairPlay 的具体内容,而是关于加载 Assets 的更通用的内容,它不会违反任何许可协议(protocol))

关于avplayer - Fairplay 播放不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43004444/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com