正如標題所說,我期待在用戶使用AVFoundation錄製視頻時顯示錄製的當前長度。我已經做了與AVAudioRecorder類似的東西,我創建一個計時器,設置了一個標籤的文字如下:如何在錄製屏幕時顯示AVCaptureMovieFileOutput的當前長度?
recordDurationLabel.text = timeString((audioRecorder?.currentTime)!)
我在想,如果有一個「currentTime的」功能錄製的視頻?我唯一的想法是在captureOutput:didStartRecordingToOutputFileAtURL函數中啓動一個重複的1秒計時器,但我想確保準確性。
在此先感謝!
編輯: 現在,這是我在captureOutput:didStartRecordingToOutputFileAtURL委託方法中實現的功能,但是再次,與視頻直接相關的東西會更乾淨。
func startRecordingUpdateTimer() {
recordingUpdateTimer = NSTimer(timeInterval: 1.0/45.0, target: self, selector: #selector(recordedVideo), userInfo: nil, repeats: true)
NSRunLoop.mainRunLoop().addTimer(recordingUpdateTimer!, forMode: NSRunLoopCommonModes)
}
func recordedVideo() {
durationTime = durationTime + 1.0/45.0
let durationString = timeString(durationTime)
recordDurationLabel.text = durationString
}
謝謝,我希望避免AVCaptureVideoDataOutput但看起來這將是做那麼的方式。 –
我的不好,我很少使用MovieFileOutput。我檢查了文檔,只是保留對輸出的引用,並用'recordedDuration'訪問持續時間。編輯答案 – HHK