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應用程序。例如,使用kSystemSoundID_UserPreferredAlert常量作爲AudioServicesPlayAlertSound函數的參數將不會播放任何內容。' – DonMag