ios - 怎么直播iphone屏幕

标签 ios replaykit

有少数 iOS 应用程序可以广播整个 iPhone 屏幕(镜像整个屏幕,包括主屏幕)-> Teamviewer、Microsoft Teams、RescueAssist。为此,用户将开始视频录制并选择其中一个应用程序作为广播接收器。

如何编写这样的应用程序?我在网上搜索过,但没有找到详细的技术解释。

最佳答案

正如建议的,您必须创建一个广播扩展。该扩展为您提供了传递帧的方法调用。然后您可以将帧流式传输到互联网(例如 Haishinkit)。

override func processSampleBuffer(_ sampleBuffer: CMSampleBuffer, with sampleBufferType: RPSampleBufferType) {

    switch sampleBufferType {
        case RPSampleBufferType.video:
            rtmpStream?.appendSampleBuffer(sampleBuffer, withType: AVMediaType.video)

            // Handle video sample buffer
            break
        case RPSampleBufferType.audioApp:
            // Handle audio sample buffer for app audio
            break
        case RPSampleBufferType.audioMic:
            // Handle audio sample buffer for mic audio
            break
    }
}

请注意,Apple 很可能会拒绝您的应用。他们只允许在少数情况下使用。

关于ios - 怎么直播iphone屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55139659/

相关文章:

c# - Xamarin.Forms(可移植)解决方案中的 Xamarin.Mac 项目

ios - 如何将使用 Replaykit 录制的视频作为文件访问并将另一个视频合并到其中?

ios - Replaykit,startCaptureWithHandler() 不在 captureHandler 中发送 Video 类型的 CMSampleBufferRef

ios - 重播套件未记录父应用程序中的第二个应用程序

ios - 触摸 UISearchbar 时如何修复偏移键盘

iphone - MFMailComposeViewController : gives EXC-BAD-EXCESS when dismiss it from parent view

ios - "Call to ' malloc ' has an allocation size of 0 bytes"大小传递时出错?

ios - 是否可以阅读当前在 iOS 7 中配置蓝牙通知的方式?

ios - ReplayKit 获取视频而不去 RPPreviewViewController

iOS广播内存泄漏