我需要设置文件的最大大小,这是记录。我尝试使用这种方法,但它每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设置最大文件大小吗?
发布于 2022-09-05 21:13:07
如果你展示你如何启动你的录音机,这样我就能看到记录文件的格式,这会有帮助。
假设您使用的是简单的无损记录格式,则可以通过使用记录格式和记录开始后的时间推断文件大小。一旦您知道了记录格式(采样率、通道数、每个通道的位数),就可以将其与文件大小关联起来。如果不知道音频的格式,就很难提供帮助。LinearPCM是最简单的,但是使用了相当多的存储空间。确保从设备中获得实际的采样率,而不是硬编码(48k、44.1k等)。因为这些可能会因设备而异。
根据记录格式计算的一定时间后,您可以自动停止记录器。计算每个文件格式的最大时间,并在需要时停止录音机。
recorder.record(forDuration: TimeInterval)它每隔几秒钟更新一次,是因为记录器缓冲一点点,然后写入附加文件。如果您需要快速/准确的实时信息,那么您需要使用攻丝手工制作您自己的记录器。
https://stackoverflow.com/questions/73339036
复制相似问题