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

标签 ios objective-c

我正在开发一个应用程序,我将在其中使用 ChromeCast 设备连接到电视,为此我在我的项目中使用了 GoogleCast FrameWork,

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

GCKMediaControlChannel *mediaControlChannel = [[GCKMediaControlChannel 分配] 初始化]; NSLog(@"Approximate stream position is %f",mediaControlChannel.approximateStreamPosition);

但这导致了 20 秒的时间差。

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

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

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

由于上述方法有两个参数,我们需要将 session 作为整数发送,但我们将 session ID 作为字符串字母数字获取,并将其转换为整数后得到 0。

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

最佳答案

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

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

希望对您有所帮助!

关于ios - 如何在 iOS 中使用 GoogleCast frameWork 获取当前流位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27038375/

相关文章:

iphone - 从子 UIViewController 呈现 UIActionSheet

ios - 如何在 iOS 中触摸 subview 外部时从父 View 隐藏 subview ?

iphone - 智能 CVS 和核心数据

ios - 添加声音以在 2 个不同的 View Controller 中播放,并重复声音

objective-c - 如何检查文件是否存在于特定的 URL?

ios - 不确定公共(public)或私有(private)变量声明和自委托(delegate)?

ios - CMDeviceMotion 为磁场返回 0 值

iPhone Objective-C 套接字通信与 Socket.IO

iphone - 更新 UICollectionViewCell 中的 UIProgressView 以下载文件

iphone - 如何制作我正在编写的 2 个应用程序交换信息?