swift - 音频录制 AVAudioRecorder swift 的大小限制

标签 swift filesize avaudiorecorder

我需要设置正在录制的文件的最大大小。 我尝试使用此方法,但它每 2-3 秒更新一次大小。但我试图用计时器每 1 秒更新一次。但每次返回的大小相同,并且每 2-3 秒更新一次。

func updateSlider() {
   let attr = try FileManager.default.attributesOfItem(atPath: url.path)
   let dict = attr as NSDictionary
   let fileSize = Int(dict.fileSize()) 
}

有什么方法可以设置 AVAudioRecorder 的最大文件大小吗?

最佳答案

这对于 AVAudioRecorder 是不可能的。

您可以计算移动平均值并插入缺失值。您可以以更高的频率执行此操作以顺利进行。

或者,您可以使用较低级别的 AVFoundation API 来获取数据并自行将其写入文件。

假设最大文件大小不需要非常准确,我会务实地使用前一种方法。

然后,如果您将 UI 上显示的值四舍五入(例如,舍入为 1k 或 10k 字节),您将隐藏无关紧要的信息并获得更好的用户体验。

关于swift - 音频录制 AVAudioRecorder swift 的大小限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73339036/

相关文章:

swift - 使用 VNCoreMLModel 和 Inceptionv3.model() 的区别?

windows - 在批处理脚本中检查文件大小

c++ - 获取目录的大小(而不是目录的大小)

swift - 为什么要创建 "Implicitly Unwrapped Optionals",因为这意味着您知道有一个值?

ios - swift 3 : If let statement crashes instead of executing else block

swift - 使用完成处理程序调用函数

mysql - 使用 PRIMARY KEY 会降低 innodb 文件大小吗?

iOS:在特定频率以下录制音频

ios - 视频播放后录制音频

ios - 如何将元数据添加到 AVAudioRecorder 录制的 AAC 文件中?