小编Gov*_*iya的帖子

RPBroadcastSampleHandler 没有被调用的任何方法

我想实现像Skype这样的屏幕共享功能(当应用程序在后台时,它也会共享iPhone的屏幕),为此我使用广播扩展。

这是我在 viewcontroller.swift 中的代码

    import UIKit
    import ReplayKit
    @available(iOS 12.0, *)
    class ViewController: UIViewController {

        var broadcastPicker: RPSystemBroadcastPickerView?
        var broadcastSession : NSObject?
        override func viewDidLoad() {
            super.viewDidLoad()
            let kPickerFrame = CGRect(x: 100.0, y: 100.0, width: 100.0, height: 100.0)
            broadcastPicker = RPSystemBroadcastPickerView(frame: kPickerFrame)
            broadcastPicker?.backgroundColor = UIColor.green
            broadcastPicker!.preferredExtension = "com.sharescreen.Recoder"
            view.addSubview(broadcastPicker!)

            extensionContext?.loadBroadcastingApplicationInfo(completion: {
            (bundleID, displayName, appIcon) in

            })

        }
   }
Run Code Online (Sandbox Code Playgroud)

当我点击 RPSystemBroadcastPickerView 时,我会弹出开始广播,当我开始广播时,任何扩展方法都没有调用。

这是我的扩展课程

    class SampleHandler: RPBroadcastSampleHandler {


    var session : VTCompressionSession?
    override func broadcastStarted(withSetupInfo setupInfo: [String : NSObject]?) {
        // User …
Run Code Online (Sandbox Code Playgroud)

ios swift replaykit swift5 ios13

6
推荐指数
2
解决办法
2033
查看次数

如何将 uiview 录制为带音频的视频 iOS swift

在我的应用程序中,我正在 AVView 中播放视频,现在我正在该视图中按视图进行一些转换,现在我想将该视图录制为视频,我也需要音频,那么我该怎么做?

我尝试过这个库,但它多次卡住视频

https://github.com/wess/Glimpse

我做了足够的研发,但我没有得到任何可能的解决方案。

这是我的代码:

{
    guard let path = Bundle.main.path(forResource: "video2", ofType: "mov") else {
        return
    }
    let videoURL = NSURL(fileURLWithPath: path)

    // Create an AVPlayer, passing it the local video url path
    let player = AVPlayer(url: videoURL as URL)
    let controller = AVPlayerViewController()
    controller.player = player

    present(controller, animated: true) {
        player.play()

        self.createImageView()

        controller.view.addSubview(self.viewForImage)

        self.zoomAnimationCount = 0
          self.zoomInAnimation()

        DispatchQueue.main.async {
            self.glimpse!.startRecording(controller.view, onCompletion: { fileOuputURL in
                print("DONE WITH OUTPUT: \(fileOuputURL?.absoluteString ?? "")")
            })

        DispatchQueue.main.asyncAfter(deadline: .now() + 20.0, execute: …
Run Code Online (Sandbox Code Playgroud)

iphone video video-recording ios swift

5
推荐指数
0
解决办法
1137
查看次数

标签 统计

ios ×2

swift ×2

ios13 ×1

iphone ×1

replaykit ×1

swift5 ×1

video ×1

video-recording ×1