相同点: 都可以播放声音
不同点:
播放系统声音: 时间较短,不能暂停或者停止
播放音乐: 可播放时间较长的音乐,歌曲等。 可以暂停,停止。
代码块:播放系统声音 (大体分为四步)
#import <AudioToolbox/AudioToolbox.h>
NSURL *system_sound_url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"Swarning" ofType:@"wav"]];
// 第一步 创建 SystemSoundID
SystemSoundID system_sound_id;
AudioServicesCreateSystemSoundID((__bridge CFURLRef)system_sound_url, &system_sound_id);
// 第二步 注册声音播放完成时间回调函数
AudioServicesAddSystemSoundCompletion(system_sound_id, NULL, NULL, SoundFinishedPlayingCallback, NULL);
// 第三步 播放系统声音
AudioServicesPlayAlertSound(system_sound_id);
// 第四步 声明播放完成的回调函数
void SoundFinishedPlayingCallback(SystemSoundID sound_id, void *user_data)
{
//注销声音播放完成时间回调函数
AudioServicesRemoveSystemSoundCompletion(sound_id);
// 释放 systemSoundID
AudioServicesDisposeSystemSoundID(sound_id);
}
// 播放音乐
#import <AVFoundation/AVFoundation.h>
NSString *strpath = [[NSBundle mainBundle]pathForResource:soundKey ofType:@"mp3"];
NSURL *filerul = [NSURL fileURLWithPath:strpath];
audioplay = [[AVAudioPlayer alloc]initWithContentsOfURL:filerul error:nil];
[audioplay play]; // stop pause