如何让 GCKViewVideoFrameInput 在 swift 中工作?
How to get GCKViewVideoFrameInput working in swift?
正在尝试使用远程显示器将视图镜像到 chromecast API。在 Android 上,它有据可查且易于实施。 iOS samples/docs 不太完整。我知道它只支持 15 fps,但这完全符合我的需要。
如果有人让它工作,我很乐意看到一个小的 swift 示例,它展示了如何镜像一个简单的视图。我正在尝试用它来测试它,它在电视上没有显示任何内容,并在几秒钟后显示设备已断开连接。通过阅读文档,当您在获得会话的前 15 秒内未发送任何内容时,就会发生这种情况。
var testSession: GCKRemoteDisplaySession!
func remoteDisplayChannel(channel: GCKRemoteDisplayChannel,
didBeginSession session: GCKRemoteDisplaySession) {
// Use the session.
testSession = session
frameInput = GCKViewVideoFrameInput(session: testSession)
// any view
frameInput.view = testView
}
确保您强烈引用会话和帧输入。输入对会话的引用很弱(以避免会话和输入之间的循环)。如果会话未被强引用并被销毁,您将在远程屏幕上看到黑色,然后超时断开连接。
正在尝试使用远程显示器将视图镜像到 chromecast API。在 Android 上,它有据可查且易于实施。 iOS samples/docs 不太完整。我知道它只支持 15 fps,但这完全符合我的需要。
如果有人让它工作,我很乐意看到一个小的 swift 示例,它展示了如何镜像一个简单的视图。我正在尝试用它来测试它,它在电视上没有显示任何内容,并在几秒钟后显示设备已断开连接。通过阅读文档,当您在获得会话的前 15 秒内未发送任何内容时,就会发生这种情况。
var testSession: GCKRemoteDisplaySession!
func remoteDisplayChannel(channel: GCKRemoteDisplayChannel,
didBeginSession session: GCKRemoteDisplaySession) {
// Use the session.
testSession = session
frameInput = GCKViewVideoFrameInput(session: testSession)
// any view
frameInput.view = testView
}
确保您强烈引用会话和帧输入。输入对会话的引用很弱(以避免会话和输入之间的循环)。如果会话未被强引用并被销毁,您将在远程屏幕上看到黑色,然后超时断开连接。