我正在尝试集成 Bitmovin ios。但是当我通过 "let config = PlayerConfiguration.fromJson("");" 实例化播放器时 那里的方法显示错误“类型'PlayerConfiguration'没有成员'fromJson'”。请任何人帮助我。
问问题
129 次
1 回答
0
是的!我找到了解决方案。
我添加了以下回调。
- fpsConfig.prepareCertificate
- fpsConfig.prepareLicense
- fpsConfig.prepareContentId
- fpsConfig.prepareMessage *
- 可以使用以下方式设置自定义请求标头:
- fpsConfig.certificateRequestHeaders
fpsConfig.licenseRequestHeaders
do { try config.setSourceItem(url: fairplayStreamUrl) // create drm configuration let fpsConfig = FairplayConfiguration(license: licenseUrl, certificateURL: certificateUrl) // Example of how certificate data can be prepared if custom modifications are needed fpsConfig.prepareCertificate = { (data: Data) -> Data in // Do something with the loaded certificate return data } fpsConfig.prepareMessage = { (spcData: Data, assetID: String) -> Data in return spcData } fpsConfig.licenseRequestHeaders = ["content-type": "application/octet-stream"] fpsConfig.prepareLicense = { (ckc: Data) -> Data in return ckc } fpsConfig.prepareContentId = { (contentId: String) -> String in let part1 = contentId.components(separatedBy: ";")[1] let part2 = part1.components(separatedBy: "?")[0] return part2 } config.sourceItem?.add(drmConfiguration: fpsConfig) // Create player based on player configuration let player = BitmovinPlayer(configuration: config) // Create player view and pass the player instance to it let playerView = BMPBitmovinPlayerView(player: player, frame: .zero) // Listen to player events player.add(listener: self) playerView.autoresizingMask = [.flexibleHeight, .flexibleWidth] playerView.frame = view.bounds view.addSubview(playerView) view.bringSubview(toFront: playerView) self.player = player } catch { print("Configuration error: \(error)") }
于 2018-07-22T05:26:17.653 回答