Chromecast 警告 loadMedia 自动播放已弃用

Posted

技术标签:

【中文标题】Chromecast 警告 loadMedia 自动播放已弃用【英文标题】:Chromecast warning loadMedia autoplay is deprecated 【发布时间】:2019-03-14 05:18:28 【问题描述】:

在我的 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:

如何解决?

【问题讨论】:

【参考方案1】:

就像警告信息所说,你可以使用 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) 自动播放是否应立即开始播放。

默认值为YES。

(NSTimeInterval) playPosition 初始播放位置。

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

(float)playbackRate 播放速率。

默认值为 1。

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

默认值为 nil。

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

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

(NSString*) 凭据

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

(NSString*) 凭据类型

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

请同时查看the documentation。

【讨论】:

以上是关于Chromecast 警告 loadMedia 自动播放已弃用的主要内容,如果未能解决你的问题,请参考以下文章

不推荐使用 initWithReceiverApplicationID 使用 initWithDiscoveryCriteria 警告 Chromecast

Chromecast 自定义 MediaRouteChooserDialog

启动自定义 chromecast 接收器有时会超时

如何在 android 的选项菜单中为 chromecast 添加自定义投射按钮?

Chromecast 自定义命令不起作用

如何从 Chromecast 自定义接收器获取型号名称和设备版本信息?