我对iPhone开发有点新鲜,所以要温柔!我正在支持一个从URL文件流加载wav文件的应用程序,并通过AudioQueue播放它。
我们在另一个线程中运行一个连续循环,如果我们检测到它没有正在使用的缓冲区,并且输入的FileStream已经到达它的末尾,则停止Queue。反过来,我们通过检查waitForDataInBackgroundAndNotify
的长度为0来检测FileStream是否已在流NSFileHandleDataAvailableNotification
的{{1}}回调中结束。
这适用于iOS 3.0 - 我们在文件末尾收到0个可用数据的通知 - 但在iOS 4.0上,我们似乎没有在文件结束时收到回调。无论目标操作系统版本如何,都会在OS 4.0设备上发生这种情况。
两个版本之间的API是否已更改?我现在如何检测文件的结尾?
希望相关的代码:
数据可用的回调:
availableData