我正在开发一个应用程序,我将使用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作为整数获取,或者建议我使用任何不同的方法获取当前流的位置。
答案 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作为示例。