我使用NSURLConnection下载远程mp4文件并将数据写入app目录,然后播放它们。
如果我在此委托方法中转换NSData,一切正常
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
[responseData writeToFile:path
atomically:YES];
}
但是如果我想在下面的委托方法中转换NSData,例如我只想要Mp4的前半部分,那么出错了,Mp4文件无法播放
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[responseData writeToFile:path
atomically:YES];
}
为什么呢? 感谢。
答案 0 :(得分:0)
当然那是错误的。
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
在下载完整个音频数据后,此委托方法将被称为,如果您转换音频文件就可以了。
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
但每次应用程序接收数据时都会调用此委托方法。 “数据”是整个数据的一部分,当然它无法转换。