我一直无法让Google Cast SDK正常工作一周。我已经成功建立了与Chromecast接收器的连接,至少日志是这样说的,我的GCKSessionManagerListener也是如此。
这是我的应用程序流程到目前为止的程度:
在SessionManagerListener上 - didStart(已建立连接)我在SessionManager的currentCastSession上请求loadMedia,我也尝试加载队列,音频,图像,没有触发默认接收器应用程序出现。我希望有人能找到代码/逻辑的缺陷。这是所有相关代码:
初始化应用程序启动:
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
}
我的想法已经用完了,我向你们寻求帮助,谢谢大家的时间!
好吧,似乎代码很好,Chromecast设备有问题。更换设备后,所有先前的请求都开始没有问题。当然,除了不受支持的文件。