1
私はthis questionを見つけましたが、少し古くなっています。彼らが推奨するthe example appのディレクトリアクセスが利用できなくなったようです。iOSで利用可能なシステムサウンドのリストを取得するにはどうすればよいですか?
The Apple documentation私も必要なものを持っていないようです。
私が必要とするのは、ビルトインサウンド(自分では提供しない)をリストし、自分のアプリのユーザーが再生するサウンドを選択できるようにすることです。
聞こえますか?
UPDATE:
NSURL *directoryURL = [NSURL URLWithString:@"/System/Library/Audio/UISounds"];
NSArray *keys = [NSArray arrayWithObject:NSURLIsDirectoryKey];
NSDirectoryEnumerator *enumerator = [fileManager
enumeratorAtURL:directoryURL
includingPropertiesForKeys:keys
options:0
errorHandler:^(NSURL *url, NSError *error) {
// Handle the error.
// Return YES if the enumeration should continue after the error.
return YES;
}];
for (NSURL *url in enumerator) {
NSError *error;
NSNumber *isDirectory = nil;
if (! [url getResourceValue:&isDirectory forKey:NSURLIsDirectoryKey error:&error]) {
// handle error
}
else if (! [isDirectory boolValue]) {
[audioFileList addObject:url];
}
}
問題が列挙は常に空であることである:ここ
は、下記の例アプリに関連するコードです。私はこれがセキュリティ/サンドボックスの問題かもしれないと思う。
私は、コードを試していないが、それはあなたが望むあなたを与える必要がありますように、これはなりますhttps://github.com/TUNER88/iOSSystemSoundsLibrary – DonMag
感謝を。それは私が指摘しているアプリです。サウンドファイルをライブラリディレクトリにリストアップすることになっていますが、iOS 10以降で実行すると、大したものはありません。 –
もう少し読んだ後で、このコードは刑破でしか動かないかもしれません...アップルのドキュメントにあるこのメモに基づいて、あなたがシステム音から得ることができるものは何か:警告音とシステム提供のユーザーインターフェイスのサウンドエフェクトは、iOSアプリケーションでは使用できません。たとえば、AudioServicesPlayAlertSound関数のパラメータとしてkSystemSoundID_UserPreferredAlert定数を使用すると、何も再生されません。 ' – DonMag