- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想录制一个长视频,在录制过程中将其分成几个部分,在不同的路径中持续几秒钟(例如 Instagram 故事)。
我再次尝试 stopRecording 和 startRecording,但出现错误或丢失部分视频(再次在 stopRecording 和 startRecording 之间) 开发人员文档显示
You can call this method when they want to stop recording new samples to the current file, and do not want to continue recording to another file. If you want to switch from one file to another, you should not call this method. Instead you should simply call startRecording(to:recordingDelegate:) with the new file URL.
但是,当我第二次调用 startRecording() 时(isRecording == true)委托(delegate)被调用
func fileOutput(_ output: AVCaptureFileOutput, didFinishRecordingTo outputFileURL: URL, from connections: [AVCaptureConnection], error: Error?) {}
错误是
Error Domain=AVFoundationErrorDomain Code=-11859 "Movie recording cannot be started" UserInfo={NSLocalizedDescription=Movie recording cannot be started, NSUnderlyingError=0x281efcc00 {Error Domain=NSOSStatusErrorDomain Code=-16419 "(null)"}, NSLocalizedRecoverySuggestion=Stop the movie recording in progress and try again., NSLocalizedFailureReason=A movie recording is already in progress.}
最佳答案
我这样解决了我的问题
我做了一面旗帜
var isRecordong: Bool = false
在我的开始操作中,开始录制后,我将标志更改为 true 并启动计时器
@IBAction func startRecording() {
movieOutput.startRecording(to: outputURL, recordingDelegate: self)
isRecording = true
timer = Timer.scheduledTimer(withTimeInterval: duration, repeats: true, block: { [weak self] ( _ ) in
guard let weakSelf = self else { return }
if weakSelf.movieOutput.isRecording == true {
weakSelf.movieOutput.stopRecording()
}
})
}
接下来我实现委托(delegate)方法 didFinishRecordingTo 来进行循环录制
func fileOutput(_ output: AVCaptureFileOutput, didFinishRecordingTo outputFileURL: URL, from connections: [AVCaptureConnection], error: Error?) {
if self.isRecording {
movieOutput.startRecording(to: newOutputURL, recordingDelegate: self)
} else {
//perform action after recording
}
}
在我的停止操作中,我停止录制,将标志更改为 false 并删除计时器
@IBAction func stopRecording() {
isRecording = false
if movieOutput.isRecording == true {
movieOutput.stopRecording()
} else {
//perform action after recording, if action and timer will work simultaneously
}
timer.invalidate()
}
一些要点
关于swift - Swift,AVFoundation startRecording 当 Recording 为 true 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58266668/
我一直在尝试让我的 Android 应用程序使用麦克风并开始录音。但是应用程序一直在 AudioRecord StartRecording() 方法上崩溃。 _recorder = new Audio
我正在使用重播工具包在游戏过程中保存我的屏幕视频,但有时 startRecordingWithMicrophoneEnabled 和 recorder.stopRecordingWithHandler
Phonegap 的 Media.startRecord() 录音格式和采样率是什么?格式是否因平台而异? mediaRec = new Media("test.mp3", onSuccess, on
我正在尝试在 Android 上录制语音通话。我正在使用 android 的 AudioRecord 类/api 来执行此操作。但由于某些原因,AudioRecord 无法在某些设备上录制语音通话(尤
问题描述 startRecording() 完成处理程序从未被输入,即使显示了“允许在 $AppName 中进行屏幕录制”弹出窗口。偶尔会显示“允许 $AppName 中的屏幕录制”弹出窗口。当我删除
所以我从键盘获取 MIDI 数据并开始使用 sequence = new Sequence(Sequence.PPQ, 24); currentTrack = sequence.createTrack
我有一个调谐器应用程序并使用 Audio Record 对象收听麦克风。我想了解它适用于大多数设备和 Android 版本(甚至 Android 6),但我收到来自三星 S7 手机客户的错误报告。我在
我正在尝试实现 Wami-Recorder如上所述here on stackoverflow与接受的答案基本相同的设置,即 head 标签中包含的 swfobject.js、recorder.js 和
尝试通过 Android ICS 中的 native 代码让相机工作:大多数手册都提到了 startPreview() 方法。但是浏览 AOSP 代码,我在 中也发现了“startRecording
我正在尝试在 android 中录制音频并将其存储在一个字节数组中,为此我使用了 Android 的 AudioRecord 内置类。 我以前已经用过这个类,一切都很好,但由于某种原因,AudioRe
我正在使用此 SDK 设计一个简单的音乐识别应用 https://www.acrcloud.com/docs/audio-fingerprinting-sdks/android-sdk/ SDK提供的
我的代码在 android 平台上运行完美,但在 ios 中我得到:unhandled Promise Rejection: Cannot read property 'startRecorder'
我用 Phonegap 完成了标准录音: function recordSound() { var src = "mysound.mp3"; var mediaRec = new Me
我正在尝试在我的 Android 应用程序中将音频读取为 16 位整数。我使用 Xamarin.android 编写了这个应用程序。我为此使用 AudioRecord 低级库,因为我需要从手机麦克风读
我想录制一个长视频,在录制过程中将其分成几个部分,在不同的路径中持续几秒钟(例如 Instagram 故事)。 我再次尝试 stopRecording 和 startRecording,但出现错误或丢
我正在尝试使用 media.startRecord() PhoneGap 1.6.1 API ( http://docs.phonegap.com/en/1.6.1/cordova_media_med
我尝试使用phoneGap 录制示例音频,但没有成功。 根据文档,我所做的非常简单: var media = null; function record(){ media = new Medi
我在 android 2.3.4 版本移动设备 (LG) 中收到类似 start recording() 调用未初始化音频记录的错误,它在 android 2.2 中工作正常但在 android 2.
当我将 AudioRecord 对象的采样率设置为 44100 时出现错误。当它是 22050 时,它工作正常。 02-16 10:45:45.099 24021-24021/com.vlad.jac
我是一名优秀的程序员,十分优秀!