2014-11-05 50 views
0

我想在下載時播放音樂,因此我使用本地文件播放音樂,如何在使用NSURLSession下載時在tmp目錄中獲取文件路徑。使用NSURLSession下載時獲取文件路徑

的方法URLSession:downloadTask:didFinishDownloadingToURL:不僅僅是打電話,而文件下載,所以我應該怎麼辦

+0

爲什麼在下載結束之前需要知道路徑?下載結束前,沒有文件,也沒有路徑。你的問題沒有意義。 – matt 2014-11-05 01:38:15

+0

音樂已聯機,所以我想在播放之前緩存部分數據 – user1187117 2014-11-05 02:21:49

+0

然後您無法使用下載任務。 – matt 2014-11-05 04:27:25

回答

0

就像什麼@馬特說,在下載結束你可以什麼都不做,除了等待之前。 但是您可以考慮使用AudioStreamer在下載時播放音樂。

2

如果您想獲取下載文件的位置,請不要使用下載任務。例如,創建一個NSURLSessionDataTask並將其自動流式傳輸到永久存儲器(例如,爲持久存儲中的本地文件創建自己的NSOutputStream並打開它,然後在didReceiveData中,將數據寫入流中,然後關閉流全做完了)。然後你可以做任何你想要的流/文件。如果使用AFNetworking,我相信AFHTTPRequestOperation也會爲此目的公開outputStream屬性。

+0

謝謝,這很有用 – user1187117 2014-11-05 09:29:53

+0

AFNetworking 3刪除'AFHTTPRequestOperation'。如果你正在使用AFNetworking 3,你將不得不在'AFHTTPSessionManager'上使用'setDataTaskDidRecieveDataBlock:'方法來執行上面描述的@Rob。 – keithbhunter 2016-03-28 13:47:06

+0

嘿我沒有找到方法'didReceiveData',請你告訴我在哪裏我會得到的方法謝謝。 – 2016-09-09 06:07:12