我正在開發音樂iPhone應用程序。我想爲用戶提供一些選項,以便他們可以通過流式傳輸來收聽歌曲/音樂,或者他們可以通過在應用下載音樂。我知道如何以編程方式在應用中流式傳輸音頻文件。但是,我不知道如何下載應用程序中的音頻文件並播放音頻。用戶也可以在下載時暫停下載。有可能嗎?任何人都可以請指導我,請爲我分享任何示例代碼或教程?我還有一個疑問:你能幫我在應用程序內創建一個文件夾嗎?請幫幫我。提前致謝。如何從互聯網上下載音頻/視頻文件並存儲在iPhone應用程序中?
回答
創建文件夾
對於每一個應用程序,你有一個Documents Folder
。您在應用中使用的任何文件都存儲在此處。如果你想在這裏創造更多的目錄,然後你會做這樣的事情:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"MyNewFolder"];
if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
[[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error]; //Create folder if it doesn't already exist
下載
如果你想從互聯網上下載的音頻文件,然後你想看看的異步的做法。這意味着應用程序可以在下載發生在後臺時繼續執行任務。
對此,我建議您使用ASIHTTPREQUEST。對於執行任何下載請求非常有用,可爲您提供多種選項,例如暫停下載(根據您的要求)。
該網站提供了大量有關下載和存儲文件的文檔。看看下載文件部分this頁面。
你只希望做這樣的事情:
NSURL *url = [NSURL URLWithString:@"http://www.fileurl.com/example.mp3"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDownloadDestinationPath:[NSString stringWithFormat:@"%@",dataPath]]; //use the path from earlier
[request setDelegate:self];
[request startAsynchronous];
然後,只需處理通過ASIHTTPRequest提供委託方法的進度和完成。
播放
播放該文件是非常簡單的。一旦它在設備上,並且您知道它在哪裏,只需將其加載到音頻播放器中即可。
這裏有一個很好的教程,使用AVAudioPlayer播放聲音。在你的情況下使用它的一個非常簡單的例子是:
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/audiofile.mp3",dataPath];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
if (audioPlayer == nil)
NSLog([error description]);
else
[audioPlayer play];
很好的評論,很好的解釋! +1 – onetwopunch 2012-10-29 23:13:31
+1這樣一個很好的答案:),這應該被接受,想知道爲什麼人們問問題和消失:( – swiftBoy 2013-01-29 08:12:21
@Liam很好的回答:) +1 – 2013-06-25 10:02:41
是的,你可以通過AVAudioPlayer下載音頻文件和播放下載的文件。我不完全知道如何在下載時暫停,但我已經下載了音頻並播放。您可以從ASIHTTP請求或其他下載。
您可以按照這些鏈接。
+1我推薦使用ASIHTTPRequest – CarlJ 2012-04-20 12:19:12
是的,Sure ASIHTTPRequest是最好的方法,你應該用這個下載你的音頻文件,如果問題出現的話請讓我知道,我會盡力解決,insha阿拉。 – 2012-04-20 14:14:53
- 1. 如何在網絡上編程音頻/視頻應用程序?
- 2. 如何從互聯網下載文件並保存在iPhone上的「文檔」中?
- 3. 如何從互聯網下載音頻文件並在iPhone sdk中使用AvAudioplayer進行播放?
- 4. 如何在視頻Web應用程序中存儲視頻
- 5. 使用iPhone sdk從服務器下載並播放音頻/視頻文件到我們的應用程序
- 6. 從iPhone下載視頻在iPhone應用程序
- 7. 如何從網站下載視頻並保存在圖庫中?
- 8. 從網站下載音頻文件
- 9. iPhone - 從互聯網上下載文件,並保存到文件direcory
- 10. 如何訪問iphone中的視頻。它在哪裏存儲下載的視頻?
- 11. 在iPhone應用程序中合併兩個視頻文件
- 12. 如何從HTP網址在iPhone應用程序播放視頻
- 13. 音頻文件存儲按需移動應用程序下載技術
- 14. 下載視頻並將其存儲在iphone本地文件夾中
- 15. 僅從YouTube視頻下載音頻
- 16. 只從流式視頻下載音頻?
- 17. 使用asp.net在互聯網上流式傳輸現場音頻和視頻
- 18. 下載音頻文件,如Gaana Android應用程序
- 19. 從互聯網上下載文件?
- 20. 如何將視頻添加到iPhone SDK上的音頻文件
- 21. 如何將音頻添加到iPhone上的視頻文件SDK
- 22. 離線下載和存儲視頻離子應用程序
- 23. 如何使視頻和音頻文件可下載?
- 24. iPhone:在Core Data中存儲視頻和音頻?
- 25. 從內部存儲路徑播放音頻視頻文件
- 26. 副音頻和視頻類型與iPhone應用程序
- 27. 如何在音樂視頻網站上添加下載按鈕
- 28. 從互聯網上下載聲音的本地通知 - iPhone
- 29. 如何構建音頻文件流iPhone應用程序?
- 30. 如何通過使用音頻文件ID獲取soundcloud音頻下載網址
你應該接受@Liam喬治Betsworth的回答,他做了他最好的。 – swiftBoy 2013-01-29 08:10:09