您的位置:首页 > 移动开发 > IOS开发

iOS - 系统提醒短音频

2016-06-16 14:39 351 查看

iPhone端系统Audio资源路径:
/System/Library/Audio/UISounds


首先,通过 NSFileManager 获取资源路径下的所有路径(文件夹/文件)

NSFileManager * fileManager = [NSFileManager defaultManager];
NSURL * _soundDataURL = [NSURL URLWithString:@"/System/Library/Audio/UISounds"];
NSDirectoryEnumerator * _soundDirectoryEnum = [fileManager enumeratorAtURL:_soundDataURL
includingPropertiesForKeys:@[NSURLIsDirectoryKey]
options:0
errorHandler:^BOOL(NSURL * _Nonnull url, NSError * _Nonnull error) {
return YES;
}];

接着遍历枚举,然后获取系统音频的SoundID:

/*!
@typedef        SystemSoundID
@abstract       SystemSoundIDs are created by the System Sound client application
for playback of a provided AudioFile.
*/
typedef UInt32      SystemSoundID;

通过使用 AudioServicesCreateSystemSoundID 方法:

/*!
@function       AudioServicesCreateSystemSoundID
@abstract       Allows the application to designate an audio file for playback by the System Sound server.
@discussion     SystemSoundIDs are used passed to
AudioServicesPlayAlertSound() & AudioServicesPlaySystemSound(),
designating the audio data to be played by the System Sound server.
@param          inFileURL
A CFURLRef for an AudioFile.
@param          outSystemSoundID
Returns a SystemSoundID.
*/
extern OSStatus
AudioServicesCreateSystemSoundID(   CFURLRef                    inFileURL,
SystemSoundID*              outSystemSoundID)

获取SoundID后,最后,使用 AudioServicesPlaySystemSound 播放这个SoundID 音频:

AudioServicesPlaySystemSound(SystemSoundID inSystemSoundID)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: