【问题标题】:Type 'PlayerConfiguration' has no member 'fromJson' Bitmovin iOS integration error类型“PlayerConfiguration”没有成员“fromJson”Bitmovin iOS 集成错误
【发布时间】:2018-06-30 11:48:41
【问题描述】:

我正在尝试集成 Bitmovin ios。但是当我通过 "let config = PlayerConfiguration.fromJson("");" 实例化播放器时那里的方法显示错误“类型'PlayerConfiguration'没有成员'fromJson'”。请任何人帮助我。

【问题讨论】:

    标签: ios swift bitmovin-player


    【解决方案1】:

    是的!我找到了解决办法。

    我添加了以下回调。

    • 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)")
      }
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-14
      • 1970-01-01
      • 1970-01-01
      • 2018-03-14
      • 1970-01-01
      • 1970-01-01
      • 2015-08-14
      相关资源
      最近更新 更多