首页 > 解决方案 > Chromecast 警告 loadMedia 自动播放已弃用

问题描述

在我的 playSelectedItemRemotely 方法中,我收到一条警告消息:

 - (void)playSelectedItemRemotely {
    GCKCastSession* castSession = [GCKCastContext sharedInstance].sessionManager.currentCastSession;
    if (castSession) {
        // WARNING ON LINE BELOW
        [castSession.remoteMediaClient loadMedia:[self buildMediaInformation] autoplay:YES]; 
    } else {
        NSLog(@"No cast session!");
    }
}

说:

'loadMedia:autoplay:' 已弃用:使用 loadMedia:withOptions:

如何解决?

标签: ioschromecast

解决方案


就像警告消息所说,您可以使用 loadMedia:withOptions 方法,如下所示:

- (void)playSelectedItemRemotely {
    GCKCastSession* castSession = [GCKCastContext sharedInstance].sessionManager.currentCastSession;
    if (castSession) {
        GCKMediaLoadOptions *options = [GCKMediaLoadOptions init];
        [castSession.remoteMediaClient loadMedia:[self buildMediaInformation] withOptions:options];
    } else {
        BILog(@"No cast session!");
    }
}

以下是您可以使用的选项:

  • (BOOL) autoplay 是否应该立即开始播放。

默认值为是。

  • (NSTimeInterval) playPosition 初始播放位置。

默认值为 kGCKInvalidTimeInterval,表示默认播放位置。

  • (float) playbackRate 播放速率。

默认值为 1。

  • (NSArray*) activeTrackIDs 指定活动轨道的整数数组。

默认值为无。

  • (id) customData 与请求一起传递的自定义应用程序特定数据。

必须是可以使用 NSJSONSerialization 序列化为 JSON 的对象,或者是 nil。

  • (NSString*) 凭据

正在加载的媒体项的用户凭据。

  • (NSString*) 凭据类型

GCKMediaLoadOptions::credentials 中指定的用户凭据类型。

另请检查文档


推荐阅读