【发布时间】:2009-12-23 03:52:31
【问题描述】:
短版:我想我要求文件太早了,但它假装它已经准备好了。我错过了什么吗?
稍长的版本:我正在将文件写入磁盘。在此之前,我让用户添加一些元数据,包括新文件名。用户完成后,屏幕消失,程序将文件写入磁盘。然后用户可以查看文件列表。该列表是通过读取文件夹的内容生成的。新文件在文件列表中,但是当我尝试从文件中提取信息以显示(例如文件大小)时,程序崩溃了。据我所知,发生崩溃的原因是,虽然文件名存实亡,但无法读取。 (顺便说一下,这些都是小文件 - 几百 k。)
首先,是否有可能文件显示在目录中但还没有全部存在? 一种 其次,如果是,我如何检查文件是否可以读取?
非常感谢。
更新:
谢谢。我会尝试添加更多信息。我正在使用 AVAudioRecorder 录制音频文件。初始行是:
soundrecording = [[AVAudioRecorder alloc] initWithURL:url settings:recordSettings error:&error];
程序会进行 UI 更新和计量等等。当音频停止时,我调用:
[soundrecording stop];
当其他一切都更新并准备好继续前进时,我打电话:
[soundrecording release];
soundrecording=NULL;
据我了解,这应该负责释放文件,是吗?
再次感谢。
【问题讨论】:
-
这和 Objective-C 有什么关系?您还没有告诉我们您遇到了什么样的崩溃,以及您如何尝试获取文件的大小。如果您需要帮助,您必须告诉我们的不仅仅是您的假设。
-
这个问题及其答案可能对每个人都更有用,如果您愿意发布您的代码示例,并指出错误发生的位置。
-
谢谢。我在上面添加了更多信息。
标签: objective-c file audio avaudiorecorder