获取mediaSessionID,以获取在iOS上的Swift中使用Chrome演员播放的当前媒体

时间:2015-12-12 21:30:57

标签: 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 mediaInformation:(GCKMediaInformation *)mediaInformation

注意:这是使用Objective-c语法,但除了Swift语言之外,Swift的工作原理相同......

尽管如此,我似乎无法弄清楚如何检索mediaSessionID以便能够将此类的实例初始化为新变量。

我正在尝试执行以下操作以最终使我获得此类中名为streamPosition的方法,该方法将如下所示:

    var mediaStatus = GCKMediaStatus(sessionID: Int, mediaInformation: GCKMediaInformation!)
    var currentStreamPosition = mediaStatus.streamPosition()

其中Int将是mediaSessionID而不是chrome cast的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和NOT sessionID,因为这是文档在我提供的第一个链接上显示的内容。

非常感谢任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

要获取流的位置,请使用GCKMediaControlChannel上的方法approximateStreamPosition