【发布时间】:2014-03-27 12:51:35
【问题描述】:
我有一个问题,当我的应用程序进入后台时,chromecast iOS api 的 GCKSocket 会关闭,并且我从 api 收到此类型的错误
-[GCKCastSocket socketDidDisconnect:withError:] socketDidDisconnect:withError: "(null)"
然后,如果我将应用程序置于前台,api 会自动创建套接字并将播放状态设置为暂停。如果我现在再次尝试播放视频,它会正常播放。
我正在像这样在后台线程上开始播放媒体。
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND,
0), ^ {
[[CastViewController instance] castMedia:self.media];
});
即使应用程序进入后台,如何保持播放状态?
这里是来自 api 的日志
2014-02-25 17:19:01.388 CastVideos[28470:60b] -[GCKCastSocket disconnect] disconnect
2014-02-25 17:19:01.391 CastVideos[28470:60b] -[GCKCastSocket doTeardownWithError:] doTeardownWithError
2014-02-25 17:19:01.395 CastVideos[28470:60b] -[GCKCastSocket doTeardownWithError:] notifying delegate that socket is disconnected
2014-02-25 17:19:01.399 CastVideos[28470:60b] -[GCKHeartbeatChannel didDisconnect] disconnected - stopping heartbeat timer if necessary
2014-02-25 17:19:01.457 CastVideos[28470:60b] -[GCKCastSocket socketDidDisconnect:withError:] socketDidDisconnect:withError: "(null)"
【问题讨论】:
-
后台模式下的应用和后台线程无关。
-
所以应该使用哪种背景模式来支持 chromecast 播放,例如我们使用带有音频背景模式的 avaudiosession 来支持 chromecast 播放
-
如果您不需要提交到 AppStore,任何后台模式都可以,前提是 chromecast 将在后台模式下工作。我不熟悉的。
-
我已经为airplay定义了音频背景模式,为什么它不起作用呢?
标签: ios objective-c google-cast chromecast