【问题标题】:Multiple music file in document directory in iOS deviceiOS设备文档目录中的多个音乐文件
【发布时间】:2012-07-31 09:38:46
【问题描述】:

我正在 iPhone 中开发应用程序。此应用程序需要将 3 个音乐文件 (.mp3) 存储到 iOS 设备(文件来自网络服务器)。下载功能完美运行(使用 ASIHTTPrRequest)。有时音乐保存不能正常工作,这意味着我在音乐文件进入音乐播放器之前使用了检查。

playpath=@"/Users/company/Library/Application Support/iPhone Simulator/5.0/Applications/3D5AD723-F18E-4F44-B3CB-FAEF2EA4963B/Documents/329/25-06-2012/330217/work25-06-2012330217.mp3"

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

     }

播放路径(目录路径)随着每次下载而改变。有时下载路径播放音乐,有时不播放,即该路径不能满足上述条件。

我的问题是

  1. 出现上述问题的原因是什么?
  2. isReadableFileAtPath 的具体功能是什么?

【问题讨论】:

    标签: objective-c nsfilemanager nsdocumentdirectory


    【解决方案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"]
    

    【讨论】:

    • 感谢您的重播。我已经使用您建议的相同代码创建了路径。我的情况是在 IOS 设备中保存“3”个 mp3 文件。所以第一次将文件 1 保存到 ios 设备并完美播放,当保存第二个文件(文件 2)时,第一个由于 isReadableFileAtPath,文件无法播放。请帮帮我。
    • 不要使用isReadableFileAtPath。类引用明确表示不要基于此方法来断言行为。保存多个音乐文件应该不是问题,除非您将它们保存到同一个地方;确保您没有使用相同的文件名。
    • 感谢您的重播。我对不同的文件使用不同的路径。我有一个关于文档目录的问题,我使用了 3 次或更多次 NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);并访问第零个位置并在此附加一个字符串(FilesString)。在将第一个文件保存到文档到文件后执行 2、3 次,此过程对于保存多个文件有任何问题吗?
    • 不,我一直用那个方法访问多个文件。
    • 感谢您的重播。我得到了确切的结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-19
    • 1970-01-01
    • 2013-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-29
    相关资源
    最近更新 更多