【发布时间】:2019-02-08 17:04:48
【问题描述】:
一周来,我一直无法让 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
}
我的想法已经用完了,我正在向你们寻求帮助,谢谢大家的时间!
【问题讨论】:
-
最好从示例应用程序之一开始:github.com/googlecast/CastVideos-ios
标签: ios google-chrome google-cast google-cast-sdk