У меня были проблемы с настройкой Google Cast SDK в течение недели. Я успешно установил соединение с приемником Chromecast, по крайней мере, в журналах так же, как и мой GCKSessionManagerListener .
Вот как далеко продвигается мой поток приложений в данный момент:
Я запускаю прямую трансляцию видео в формате AVPlayer (формат u3m8)
Подождите, пока кнопка Google Cast не появится на панели навигации
Затем я выбираю свой приемник Chromecast.
На SessionManagerListener - didStart (соединение установлено) Я запрашиваю loadMedia на currentCastSession SessionManager, я также пытался загрузить очереди, аудио, изображения, ничего не запускает приложение Receiver по умолчанию. Я надеюсь, что кто-то найдет изъян в коде / логике.
Это все соответствующие коды:
Инициализировать при запуске приложения:
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
}
У меня просто кончились идеи, и я обращаюсь к вам, ребята за помощью, спасибо всем за потраченное время!