Google Cast新会话未启动swift ios

问题描述 投票:0回答:1

我需要一个自定义视图来显示可用设备并进行连接。我使用了GCKDiscoveryManager。它返回一个GCKDevice。现在,当我尝试与设备启动新会话时,每次都会失败。这是我的代码:

let sessionManager = GCKCastContext.sharedInstance().sessionManager
 var devices = [GCKDevice](){
    didSet{
        discoveryTableView.reloadData()
    }
 }

override func viewDidLoad() {
    super.viewDidLoad()

    GCKCastContext.sharedInstance().discoveryManager.add(self)
    GCKCastContext.sharedInstance().discoveryManager.startDiscovery()

    sessionManager.add(self)

}

 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    let device = devices[indexPath.row]

    print(sessionManager.startSession(with: device))

}

仅设备发现现在正在起作用。

extension DevicesViewController: GCKDiscoveryManagerListener, GCKSessionManagerListener{
func didUpdateDeviceList() {
    print("did update here")
}

func didInsert(_ device: GCKDevice, at index: UInt) {
    self.devices.append(device)
}

func sessionManager(_ sessionManager: GCKSessionManager, didStart session: GCKSession) {
    sessionManager.currentCastSession!.add(textChannel)
    print("session started")
}

func sessionManager(_ sessionManager: GCKSessionManager, didStart session: GCKCastSession) {
    print("cast session started")
}

func sessionManager(_ sessionManager: GCKSessionManager, didFailToStart session: GCKSession, withError error: Error) {
    print(error.localizedDescription)
}

func sessionManager(_ sessionManager: GCKSessionManager, didFailToStart session: GCKCastSession, withError error: Error) {
    print(error.localizedDescription)
}


}

我已经按照文档在AppDelegate.swift中实现了必需的代码。

ios swift chromecast
1个回答
0
投票

Chromecast SDK是在Objective-C上编写的因此,您需要将@objc添加到您的监听器方法中

@objc func sessionManager(_ sessionManager: GCKSessionManager, didStart session: GCKSession) {
    sessionManager.currentCastSession!.add(textChannel)
    print("session started")
}

@objc func sessionManager(_ sessionManager: GCKSessionManager, didStart session: GCKCastSession) {
    print("cast session started")
}

@objc func sessionManager(_ sessionManager: GCKSessionManager, didFailToStart session: GCKSession, withError error: Error) {
    print(error.localizedDescription)
}

@objc func sessionManager(_ sessionManager: GCKSessionManager, didFailToStart session: GCKCastSession, withError error: Error) {
    print(error.localizedDescription)
}
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.