你如何广播 iphone 屏幕
how do you broadcast the iphone screen
有少数 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 屏幕(镜像包括主屏幕在内的整个屏幕)-> 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 很可能会拒绝您的应用。他们只允许在少数情况下使用。