一周以来,我一直无法使 Google Cast SDK 正常工作。我已经成功地建立了与 Chromecast 接收器的连接,至少日志是这样说的,我的GCKSessionManagerListener 也是如此。
这是我的应用程序流程目前的进展情况:
我以 AVPlayer(u3m8 格式)开始直播视频
等待 Google Cast 按钮在导航栏上可见
然后我选择我的 Chromecast 接收器。
在 SessionManagerListener - didStart(连接已建立)上,我在 SessionManager 的 currentCastSession 上请求 loadMedia,我还尝试加载队列、音频、图像,没有任何东西触发 Default Receiver App 出现。我希望有人会发现代码/逻辑中的缺陷。这是所有相关代码:
在应用程序启动时初始化:
let options = GCKCastOptions(discoveryCriteria:
.init(applicationID: kGCKDefaultMediaReceiverApplicationID))
GCKCastContext.setSharedInstanceWith(options)
GCKLogger.sharedInstance().delegate = self
建筑按钮:
let frame = CGRect(x: 0, y: 0, width: 24, height: 24)
let castButton = GCKUICastButton(frame: frame)
castButton.tintColor = UIColor.white
return UIBarButtonItem(customView: castButton)
在我的 SessionManagerListener ->
func sessionManager(_ sessionManager: GCKSessionManager, didStart session: GCKSession) {
let mediaInfo = GCKMediaInformation(contentID: url, streamType: .live,
contentType: "video/m3u", metadata: nil, adBreaks: nil,
adBreakClips: nil, streamDuration: .infinity,
mediaTracks: nil, textTrackStyle: nil, customData: nil)
print("loading media: \(String(describing: mediaInfo))")
let request = sessionManager.currentCastSession?
.remoteMediaClient?.loadMedia(mediaInfo)
request?.delegate = self
}
我只是没有想法,我正在向你们寻求帮助,谢谢大家的时间!