如何在iOS中使用GoogleCast frameWork获取当前流位置

时间:2014-11-20 11:24:06

标签: ios objective-c

我正在开发一个应用程序,我将使用ChromeCast设备连接到T.V,为此我已经在我的项目中使用了GoogleCast FrameWork,

当我尝试使用以下语句访问视频的近似流位置时,我遇到了问题,

GCKMediaControlChannel * mediaControlChannel = [[GCKMediaControlChannel alloc] init];  NSLog(@"近似流位置是%f",mediaControlChannel.approximateStreamPosition);

但这会产生20秒的时差。

我尝试使用以下语句来获取确切的流位置

GCKMediaStatus * deviceStatus = [[GCKMediaStatus alloc] initWithSessionID:sessionId mediaInformation:self.mediaInformation];

NSLog(@"Stream Position %f", self.deviceStatus.streamPosition);

由于上面的方法有两个参数,我们需要将会话作为整数发送,但我们将会话ID作为字符串字母数字,并在将其转换为整数时产生0。

任何人都可以帮助我将会话ID作为整数获取,或者建议我使用任何不同的方法获取当前流的位置。

2 个答案:

答案 0 :(得分:1)

我使用以下代码检索当前正在播放的视频的流位置,并且它非常准确!我们在项目中使用的Google Cast SDK版本是3.5.3。

let position = Double(GCKCastContext.sharedInstance().sessionManager.currentSession!.remoteMediaClient!.mediaStatus!.streamPosition)

希望它有所帮助!

答案 1 :(得分:0)

approximateStreamPosition应该给你一个非常准确的时间,当然不会在20秒内关闭。您可以查看我们的iOS reference app作为示例。