这可以帮助我使用 api,但 GCKMediaStatus 类的初始化程序显示: - (instancetype) initWithSessionID: (NSInteger) mediaSessionID 媒体信息:(GCKMediaInformation *)媒体信息
注意:这是 Objective-c 语法,但 Swift 的工作原理是一样的,除了 Swift 语言......
尽管如此,我似乎无法弄清楚如何检索 mediaSessionID 以便能够将此类的实例初始化为新变量。
我正在尝试执行以下操作,以便最终找到此类中名为streamPosition的方法,该方法如下所示:
var mediaStatus = GCKMediaStatus(sessionID: Int, mediaInformation: GCKMediaInformation!)
var currentStreamPosition = mediaStatus.streamPosition()
其中 Int 是 mediaSessionID 而不是 chromecast 的 sessionID(请阅读下面的附加部分!!)和 GCKMediaInformation!将是 GCKMediaInformation 类的实例。 (我认为)如果我对这些参数中的任何一个错误,请纠正我。
然后我就可以使用这些数据了。但是当我这样做时,我认为 currentStreamPosition 默认为 0,这就是我打印到 currentStreamPosition 变量时得到的结果。
注意:我已经连接到当前正在播放的媒体,并且可以暂停、播放和寻找流中的任意数字。这一切都有效。所以我现在已连接,其他一切正常。
用例:我希望能够使用此方法快进 15 秒或快退 15 秒等,但我没有找到任何帮助。
还有 - 不要将 sessionID 与 mediaSessionID 混淆!!我可以成功获取 sessionID 并将其打印出来。我的问题出在 mediaSessionID 上。
附加信息:自动完成是 Xcode 表示这是标记为名称的参数:
GCKMediaStatus(sessionID: Int, mediaInformation: GCKMediaInformation!)
注意第一个参数是sessionID,它的类型是int。但在 https://developers.google.com/cast/docs/ios_sender如果您注意到 sessionID 是 String 类型! (可选字符串)。
我认为这个标签在 Xcode 中由于自动完成而被错误命名。我认为它应该命名为 mediaSessionID 而不是 sessionID,因为这是我提供的第一个链接上的文档显示的内容。
任何帮助将不胜感激。
谢谢!
最佳答案
要获取流位置,请使用方法 approximateStreamPosition在 GCKMediaControlChannel 上。
关于ios - 在 iOS 上的 Swift 中获取当前在 chromecast 上播放的媒体的 mediaSessionID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34245221/