当用户在 iPad 上运行的应用程序中单击按钮时,我需要播放一些系统声音。如何在 iOS 中实现它?
问问题
3270 次
3 回答
11
如果你想播放一个短的声音(少于 30 秒),你可以像这样轻松地做到这一点:
注意:您必须添加 AudioToolbox 框架并导入它 ( #import <AudioToolbox/AudioToolbox.h>
)
SystemSoundID mySSID;
NSString *path = [[NSBundle mainBundle] pathForResource:@"beep" ofType:@"wav"];
AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath: path], &mySSID);
AudioServicesPlaySystemSound(mySSID);
另请注意,该文件可以是:
- 持续时间不超过 30 秒
- 线性 PCM 或 IMA4 (IMA/ADPCM) 格式
- 打包在 .caf、.aif 或 .wav 文件中
于 2012-05-24T14:04:37.737 回答
3
您应该使用 AVAudioPlayer。
这里有一个关于使用 AVAudioPlayer 播放声音的很棒的教程。一个非常简单的使用示例:
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/audiofile.mp3",dataPath];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
if (audioPlayer == nil)
NSLog([error description]);
else
[audioPlayer play];
于 2012-05-24T13:50:13.290 回答
0
NSString *path = [[NSBundle mainBundle] pathForResource:@"gorilla 2" ofType:@"mp3"];
AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
theAudio.delegate=self;
[theAudio play];
于 2012-10-08T06:05:35.883 回答