SwiftでAvfoundationを使用してビデオを録画するにはどうすればよいですか?

ギャレットケイ

SwiftでAVFoundationを使用してビデオを録画する方法を見つけようとしています。カスタムカメラを作ることはできましたが、それを使って静止画を撮る方法しかわからず、ビデオを録画する方法もわかりません。AVCaptureVideoDataOutput記録からデータを取得するために使用する必要があることは理解していますが、記録を開始してデリゲートメソッドを実装する方法がわかりません。

AVFoundationプログラミングガイド/静止画およびビデオメディアキャプチャ全体がObjective-Cに含まれており、解読できないようです。このタスクを実行するための私の試みは次のとおりです。

まず、カメラ/キャプチャセッションを設定します

override func viewDidLoad() {
    super.viewDidLoad()

    captureSession.sessionPreset = AVCaptureSessionPresetHigh
    let devices = AVCaptureDevice.devices()
    for device in devices {
        if (device.hasMediaType(AVMediaTypeVideo)) {
            if(device.position == AVCaptureDevicePosition.Back) {
                captureDevice = device as? AVCaptureDevice
                if captureDevice != nil {
                    beginSession()
                }
            }
        }
    }

}

次に、beginSession()が呼び出されたら、ライブフィードを設定します

func beginSession() {
    var err : NSError? = nil
    captureSession.addInput(AVCaptureDeviceInput(device: captureDevice, error: &err))
    if err != nil {
        println("error: \(err?.localizedDescription)")
    }
    previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
    self.cameraView.layer.addSublayer(previewLayer)
    self.cameraView.bringSubviewToFront(takePhotoButton)
    self.cameraView.bringSubviewToFront(self.snappedPicture)
    self.cameraView.bringSubviewToFront(self.backButton)
    previewLayer?.frame = self.cameraView.layer.frame
    captureSession.startRunning()
}

これが、ユーザーが実際にビデオを録画してキャプチャするためにレコードを押すところに行き詰まっているところです。

@IBAction func takeVideoAction(sender: AnyObject) {

    var recordingDelegate:AVCaptureFileOutputRecordingDelegate? = self

    var videoFileOutput = AVCaptureMovieFileOutput()
    self.captureSession.addOutput(videoFileOutput)

    let filePath = NSURL(fileURLWithPath: "filePath")

    videoFileOutput.startRecordingToOutputFileURL(filePath, recordingDelegate: recordingDelegate)

}

それから私は電話しますself.videoFileOutput.stopRecording()

そして最後にデリゲートメソッド

func captureOutput(captureOutput: AVCaptureFileOutput!, didFinishRecordingToOutputFileAtURL outputFileURL: NSURL!, fromConnections connections: [AnyObject]!, error: NSError!) {
    return
}

func captureOutput(captureOutput: AVCaptureFileOutput!, didStartRecordingToOutputFileAtURL fileURL: NSURL!, fromConnections connections: [AnyObject]!) {
    return
}

そして、私はそれを正しく実装する方法を理解できないので、あなたが想像できるように何も起こりません。

liuyaodong

私はあなたのコードを試しました。意味のある設定をするとfilePath、すべてうまくいきます。filePathこのように変更すると、デリゲートメソッドが呼び出されます。

    let documentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
    let filePath = documentsURL.URLByAppendingPathComponent("temp")

    // Do recording and save the output to the `filePath`
    videoFileOutput.startRecordingToOutputFileURL(filePath, recordingDelegate: recordingDelegate)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

AVFoundationを使用したビデオ録画が現在再生中のグローバルオーディオ(Swift)を中断しないようにするにはどうすればよいですか?

分類Dev

AVCaptureSession with swift(IOS 8)を使用してmpeg4コンテナにmp4ビデオを録画するにはどうすればよいですか?

分類Dev

カメラで録画した後、ビデオを再生するにはどうすればよいですか?

分類Dev

Twilioビデオ会議で録画を有効にするにはどうすればよいですか?

分類Dev

iOS Swiftでビデオを録画しながら写真をキャプチャするにはどうすればよいですか?

分類Dev

デバイスがロックされているときにビデオを録画し続けるにはどうすればよいですか?

分類Dev

ビデオを録画してウェブカメラから保存するにはどうすればよいですか?

分類Dev

Swift4以降およびIOS11以降でビデオを録画および保存するにはどうすればよいですか?

分類Dev

AVFoundationを使用してmacOSでビデオデータをキャプチャするにはどうすればよいですか?

分類Dev

AVFoundationを使用してアルファチャネルでビデオを再生するにはどうすればよいですか?

分類Dev

Win + Gを使用せずにWindows10で画面のビデオを録画するにはどうすればよいですか?

分類Dev

soxを使用してオーディオ出力を録音するにはどうすればよいですか?

分類Dev

AVFoundationを使用してキャプチャしたビデオを数秒の遅延で同時に記録および再生するにはどうすればよいですか?

分類Dev

Swiftを使用してiOSでオーディオを同時に録音および再生するにはどうすればよいですか?

分類Dev

AVFoundationを使用して画像メタデータを取得するにはどうすればよいですか?

分類Dev

Android:カスタムオーディオトラックでビデオを録画するにはどうすればよいですか?

分類Dev

カメラプラグインでビデオをフラッターで録画するにはどうすればよいですか?

分類Dev

Moonlightを使用してrtlmost.huでビデオを再生するにはどうすればよいですか?

分類Dev

Moonlightを使用してrtlmost.huでビデオを再生するにはどうすればよいですか?

分類Dev

YouTubePlayerFragmentを使用してYouTubeAPIでビデオを再生するにはどうすればよいですか?

分類Dev

埋め込まれたメタデータを使用して、ビデオ録画のファイルタイムスタンプを復元するにはどうすればよいですか?

分類Dev

埋め込まれたメタデータを使用して、ビデオ録画のファイルタイムスタンプを復元するにはどうすればよいですか?

分類Dev

Xamarin.Androidで正面カメラからビデオを録画するにはどうすればよいですか?

分類Dev

AVPlayerでSwiftを使用して、コードを介してビデオを追加および削除するにはどうすればよいですか?

分類Dev

cwac-cameraでのビデオ録画のカメラパラメータを調整するにはどうすればよいですか?

分類Dev

キャンバスアニメーションをビデオで録画するにはどうすればよいですか?

分類Dev

最新バージョンのFFMPEGを使用してビデオ録画にタイムギャップを作成するにはどうすればよいですか?

分類Dev

Androidの録画時にビデオサイズを小さくするにはどうすればよいですか?

分類Dev

exoplayerを使用してビデオを自動開始するにはどうすればよいですか?

Related 関連記事

  1. 1

    AVFoundationを使用したビデオ録画が現在再生中のグローバルオーディオ(Swift)を中断しないようにするにはどうすればよいですか?

  2. 2

    AVCaptureSession with swift(IOS 8)を使用してmpeg4コンテナにmp4ビデオを録画するにはどうすればよいですか?

  3. 3

    カメラで録画した後、ビデオを再生するにはどうすればよいですか?

  4. 4

    Twilioビデオ会議で録画を有効にするにはどうすればよいですか?

  5. 5

    iOS Swiftでビデオを録画しながら写真をキャプチャするにはどうすればよいですか?

  6. 6

    デバイスがロックされているときにビデオを録画し続けるにはどうすればよいですか?

  7. 7

    ビデオを録画してウェブカメラから保存するにはどうすればよいですか?

  8. 8

    Swift4以降およびIOS11以降でビデオを録画および保存するにはどうすればよいですか?

  9. 9

    AVFoundationを使用してmacOSでビデオデータをキャプチャするにはどうすればよいですか?

  10. 10

    AVFoundationを使用してアルファチャネルでビデオを再生するにはどうすればよいですか?

  11. 11

    Win + Gを使用せずにWindows10で画面のビデオを録画するにはどうすればよいですか?

  12. 12

    soxを使用してオーディオ出力を録音するにはどうすればよいですか?

  13. 13

    AVFoundationを使用してキャプチャしたビデオを数秒の遅延で同時に記録および再生するにはどうすればよいですか?

  14. 14

    Swiftを使用してiOSでオーディオを同時に録音および再生するにはどうすればよいですか?

  15. 15

    AVFoundationを使用して画像メタデータを取得するにはどうすればよいですか?

  16. 16

    Android:カスタムオーディオトラックでビデオを録画するにはどうすればよいですか?

  17. 17

    カメラプラグインでビデオをフラッターで録画するにはどうすればよいですか?

  18. 18

    Moonlightを使用してrtlmost.huでビデオを再生するにはどうすればよいですか?

  19. 19

    Moonlightを使用してrtlmost.huでビデオを再生するにはどうすればよいですか?

  20. 20

    YouTubePlayerFragmentを使用してYouTubeAPIでビデオを再生するにはどうすればよいですか?

  21. 21

    埋め込まれたメタデータを使用して、ビデオ録画のファイルタイムスタンプを復元するにはどうすればよいですか?

  22. 22

    埋め込まれたメタデータを使用して、ビデオ録画のファイルタイムスタンプを復元するにはどうすればよいですか?

  23. 23

    Xamarin.Androidで正面カメラからビデオを録画するにはどうすればよいですか?

  24. 24

    AVPlayerでSwiftを使用して、コードを介してビデオを追加および削除するにはどうすればよいですか?

  25. 25

    cwac-cameraでのビデオ録画のカメラパラメータを調整するにはどうすればよいですか?

  26. 26

    キャンバスアニメーションをビデオで録画するにはどうすればよいですか?

  27. 27

    最新バージョンのFFMPEGを使用してビデオ録画にタイムギャップを作成するにはどうすればよいですか?

  28. 28

    Androidの録画時にビデオサイズを小さくするにはどうすればよいですか?

  29. 29

    exoplayerを使用してビデオを自動開始するにはどうすればよいですか?

ホットタグ

アーカイブ