我尝试从我的在线服务器下载音频(mp3)文件并将其存储在" Documents"我的iPhone应用程序的文件夹,以便我可以在我的应用程序中播放它们没有任何互联网连接 我使用以下代码下载并存储它。
[NSURLConnection sendAsynchronousRequest: [NSURLRequest requestWithURL: [NSURL URLWithString:fileURL]]
queue: [NSOperationQueue mainQueue]
completionHandler: ^( NSURLResponse *response, NSData *data, NSError *error ) {
if(error)
{ }
else
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:path];
[data writeToFile:filePath atomically:YES];
}
}];
通过这段代码,我可以下载mp3文件并且它是数据变量,但似乎[data writeToFile:filePath atomically:YES];不管用。 它不是保存在文档中。 对于图像文件,它使用以下代码。
UIImage *image = [UIImage imageWithData:data];
[UIImagePNGRepresentation(image) writeToFile:filePath atomically:YES];
所以对于mp3文件,有什么方法与图像文件保存类似吗?
由于
答案 0 :(得分:0)
我用过:
NSData *soundData = [NSData dataWithContentsOfURL:soundURL];
如果你想要异步,可以把它放到后台队列。
我希望如此有用
答案 1 :(得分:-1)
使用您尝试编写的相同路径来处理现有文件。您必须具有任何具有相同名称的文件( filePath )。在这种情况下, writeToFile 方法将正常工作。