2012-03-09 361 views
0

我使用NSURLConnection下載遠程mp4文件並將數據寫入app目錄,然後播放它們。將NSData轉換爲mp4文件

如果我轉換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

當然這將是錯誤的。

- (void)connectionDidFinishLoading:(NSURLConnection *)connection 

此委託方法將被調用後的整個音頻數據已被下載,如果轉換的音頻文件會被罰款。

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 

但是這個代表方法將在應用程序每次收到數據時被調用。 「數據」是整個數據的一部分,當然它不能被轉換。

+0

如果我只想要上半年的NSData,我該如何將其轉換爲Mp4? – ichoyb 2012-03-09 09:28:37