ios - 在 iOS 上的 Swift 中获取当前在 chromecast 上播放的媒体的 mediaSessionID

标签 ios swift chromecast

我指的是https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_status.html#a45e3eb39e674f5d0dbfd78deef77a1e6

这可以帮助我使用 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/

相关文章:

ios - 非视网膜 iPad 上的图像看起来模糊

ios - Admob 广告与 Firebase 集成问题

ios - 使用session从url获取Json

swift - 如何将图像和带有文本的数组发送到Apple Watch?

ios - 如何使用 iFrame API 从 ios 转换 youtube 视频?

ios - Google ChromeCast 从 iOS 播放 m3u8

ios - 移动第三方文件夹后找不到“config.h”文件

ios - Objective-C 函数参数和静态变量同名

Xcode 错误 : Command failed due to signal: Segmentation fault: 11

ios - 从 ios 设备重新连接 chromecast 的方法