0

一周以来,我一直无法使 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
}

我只是没有想法,我正在向你们寻求帮助,谢谢大家的时间!

4

1 回答 1

0

好吧,看来代码没问题,而 Chromecast 设备有问题。更换设备后,所有先前的请求都开始通过而没有问题。当然,不支持的文件除外。

于 2019-02-13T07:32:24.350 回答