获取当前媒体的mediaSessionID,该媒体在iOS上的Swift中的chrome cast上播放

获取当前媒体的mediaSessionID,该媒体在iOS上的Swift中的chrome cast上播放,ios,swift,chromecast,Ios,Swift,Chromecast,我指的是 这对api有帮助,但GCKMediaStatus类的初始值设定项说: -(instancetype)initWithSessionID:(NSInteger)mediaSessionID 媒体信息:(GCKMediaInformation*)媒体信息 注意:这是Objective-c语法,但Swift除了在Swift语言中工作外,其工作原理相同 尽管如此,我似乎不知道如何检索mediaSessionID,以便能够将此类的实例初始化为新变量 我正在尝试执行以下操作,以便最终找到这个类中名

我指的是

这对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,而不是chrome cast的sessionID(请阅读下面的附加部分!!)和GCKMediaInformation!将是GCKMediaInformation类的实例。(我想)如果我在这两个参数上都错了,请纠正我

然后我可以使用这些数据。但是当我这样做时,我假设currentStreamPosition默认为0,这就是我打印到currentStreamPosition变量时得到的结果

注意:我已经连接到当前播放媒体,我可以暂停、播放和查找流中的任意数字。这一切都有效。所以我现在已经连接好了,其他一切都正常

用例:我希望能够使用这种方法向前跳过15秒或倒回15秒,但我没有找到任何帮助

另外-不要将sessionID与mediaSessionID混淆!!我可以成功获取sessionID并将其打印出来。我的问题是mediaSessionID

附加信息:自动完成是Xcode,表示这是标记为名称的参数:

    GCKMediaStatus(sessionID: Int, mediaInformation: GCKMediaInformation!)
请注意,第一个参数是sessionID,它的类型是int。但是,如果您注意到sessionID的类型是String,请启用!(可选字符串)

我认为这个标签在Xcode中因为自动完成而命名错误。我认为它应该命名为mediaSessionID,而不是sessionID,因为这是我提供的第一个链接上的文档所显示的内容

任何帮助都将不胜感激


谢谢

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

在我看来,您已经有了对GCKMediaControlChannel的引用(您可能使用它来播放/暂停/…媒体)。如果是这种情况,则可以通过GCKMediaControlChannel的mediaStatus属性获取对GCKMediaStatus的引用。这就是你想要的吗?@AliNaddaf非常聪明。。。你说得对,但当我打开mediaControlChannel!。暂停()我建议您仔细查看参考示例应用程序CastVideos(),看看这些事情是如何处理的。这是有效的。非常感谢。很奇怪,我不能用streamPosition