【问题标题】:Changing Max Duration of Video while Recording iOS在录制 iOS 时更改视频的最大持续时间
【发布时间】:2015-03-02 12:55:49
【问题描述】:

我最初使用指定的最大时间阈值开始录制。

AVCaptureMovieFileOutput* output;
//initialisations, other configurations...

//Here i am setting up my MaxDuration before starting recording.
[output setMaxRecordedDuration:CMTimeMakeWithSeconds(MY_MAX_LENGTH, 600)];

//Starting recording here
[output startRecordingToOutputFileURL:MY_FILE_URL recordingDelegate:self];

我需要在录制过程中更改最长录制时间阈值。

到目前为止我所尝试的:

[output setMaxRecordedDuration:kCMTimeInvalid];

我在录制过程中调用了上面的代码行,但是录制在之前的MY_MAX_LENGTH 时间标记处停止,然后在重新开始录制后,在AVCaptureMovieFileOutput 上设置了新的最大持续时间kCMTimeInvalid目的。

我在这里做错了吗?请指出我正确的方向。
非常感谢任何帮助。

【问题讨论】:

  • 您是否有理由首先设置 MAX_LENGHT,然后在录制时用kCMTimeInvalid 覆盖它?似乎你总是会改变它,无论如何,对吧?因此,使用 kCMTimeInvalid 而不是 MAX_LENGHT 实例化对象。
  • 感谢您的回复。我正在维护一个流程,我将视频保存在片段中。我不会始终将时间更改为kCMTimeInvalid,当我必须将持续时间更改为无限时间并破坏视频碎片逻辑时,我的应用程序中很少有场景。

标签: ios avfoundation video-capture avcapturesession


【解决方案1】:

为了实现这一点,我使用了手动start-recording/stop-recording 技术(而不是最大时间逻辑),并使用了计时器和一些标志。

我希望这对遇到类似问题的人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-05
    相关资源
    最近更新 更多