2012-08-02 97 views
1

我正在iphone上開發一個應用程序。這個應用程序需要存儲3個音樂文件(.mp3)到ios設備(這些文件來自web服務器)。 (使用ASIHTTPrRequest)。有些時候音樂保存不能完美運行,這意味着我在音樂文件轉到音樂播放器之前使用了檢查。ios設備文檔目錄中的多個音樂文件

[email protected]"/Users/company/Library/Application Support/iPhone Simulator/5.0/Applications/3D5AD723-F18E-4F44-B3CB-FAEF2EA4963B/Documents/329/25-06-2012/330217/work25-06-2.mp3" 

NSFileManager*fileM=[NSFileManager defaultManager]; 
if([fileM isReadableFileAtPath:playpath]) 
    { 

    } 

playpath(目錄路徑)隨每次下載而改變。有些時候播放音樂的下載路徑有時候不播放,即這條路徑不能滿足上述條件。

我的問題是

1)上述問題的原因是什麼? 2)isReadableFileAtPath的確切功能是什麼?

如果有人知道請幫幫我, 在此先感謝。

回答

1

而不是明確寫出文件路徑,讓設備找到你的路徑。以下是我所做的:

- (NSString*) saveFilePath: (NSString *) add 
{ 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); 
    NSString *path = [paths objectAtIndex:0]; 
    NSString *filename = [path stringByAppendingPathComponent:add]; 
    return filename; 
} 

將此添加到保存或加載數據的任何類需要。然後你將能夠得到你的文件的位置:

[self saveFilePath:@"Name of file you want to load or write to"] 
+0

感謝您的重播。我已經創建了與您建議的代碼相同的路徑。我的情況是將'3'mp3文件保存在IOS設備中。因此,第一次將file1保存到ios設備並完美播放時,保存第二個文件(file2)時,由於isReadableFileAtPath文件無法播放。 Plz幫我緊急。 – John 2012-08-03 11:03:36

+0

請勿使用'isReadableFileAtPath'。這個類的引用明確地說不是基於這種方法來判斷行爲。除非您將它們保存到同一個地方,否則保存多個音樂文件不應該成爲問題;確保你沒有使用相同的文件名。 – Dustin 2012-08-03 12:10:55

+0

謝謝你的replay.I爲不同的文件使用不同的路徑。我有一個關於文檔目錄的問題,我用了3次或更多次NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);並訪問第零個位置並向此添加一個字符串(FilesString)。在將第一個文件保存到documentto文件後,執行2次和3次後,此過程對保存多個文件有任何問題? – John 2012-08-03 12:34:31

相關問題