如何扫描 iOS 中的音频文件
How to scan for audio files in iOS
我的应用程序从服务器下载一个 zip 文件并将内容提取到设备。我需要找到所有音频文件(mp3、mp4a、m4b 等)的方法。它还需要扫描所有子目录。现在这就是我正在做的。
-(NSArray *)audioPathsInDirectory:(NSString *)directory {
NSDirectoryEnumerator *enumerator = [[NSFileManager defaultManager] enumeratorAtPath:directory];
NSMutableArray *audioPathArray = [NSMutableArray array];
NSString *partialFilePath;
while (partialFilePath = [enumerator nextObject]) {
if ([[partialFilePath pathExtension] isEqualToString:@"m4b"] ||
[[partialFilePath pathExtension] isEqualToString:@"m4a"] ||
[[partialFilePath pathExtension] isEqualToString:@"mp3"]) {
[audioPathArray addObject:partialFilePath];
}
}
return audioPathArray;
}
我担心 "isEqualToString:" 部分会漏掉一些东西。有没有更好的方法来完成这个?
My worry is that the "isEqualToString:" parts will miss some things
是什么意思?
您的方法没有任何问题,但最好在比较之前使用 lowercaseString
转换扩展名,以确保它处理大小写敏感性。
我的应用程序从服务器下载一个 zip 文件并将内容提取到设备。我需要找到所有音频文件(mp3、mp4a、m4b 等)的方法。它还需要扫描所有子目录。现在这就是我正在做的。
-(NSArray *)audioPathsInDirectory:(NSString *)directory {
NSDirectoryEnumerator *enumerator = [[NSFileManager defaultManager] enumeratorAtPath:directory];
NSMutableArray *audioPathArray = [NSMutableArray array];
NSString *partialFilePath;
while (partialFilePath = [enumerator nextObject]) {
if ([[partialFilePath pathExtension] isEqualToString:@"m4b"] ||
[[partialFilePath pathExtension] isEqualToString:@"m4a"] ||
[[partialFilePath pathExtension] isEqualToString:@"mp3"]) {
[audioPathArray addObject:partialFilePath];
}
}
return audioPathArray;
}
我担心 "isEqualToString:" 部分会漏掉一些东西。有没有更好的方法来完成这个?
My worry is that the "isEqualToString:" parts will miss some things
是什么意思?
您的方法没有任何问题,但最好在比较之前使用 lowercaseString
转换扩展名,以确保它处理大小写敏感性。