首先,我对目标C相当新。我想在一定条件下发出声音并振动。我的iPhone 4没有静音,我检查了区分大小写,并使用AVAudioPlay和SystemSound尝试播放文件,但即使振动也不起作用。 AudioToobox和AVfoundation以.h导入。音频在iOS模拟器上播放两种方法。
使用SystemSound的代码:
if (al == 1){
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFileURLRef;
soundFileURLRef =CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Alarm", CFSTR ("wav"), NULL);
UInt32 soundID;
AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID);
AudioServicesPlaySystemSound(soundID);
AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);}
使用AVAudioPlayer:
if (al == 1) {NSString *path = [[NSBundle mainBundle] pathForResource:@"alarmtwo" ofType:@"wav"];
AVAudioPlayer *theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
theAudio.numberOfLoops = 0;
theAudio.volume = 1.5;
[theAudio prepareToPlay];
[theAudio play];}
顺便说一下,变量al在播放后设置为0。我的编码是否错误,让设备本身的声音和振动工作?是否需要播放特定类型的.wav文件?任何帮助将不胜感激。
答案 0 :(得分:2)
我遇到了同样的问题。实际上有第二个音量设置专门用于警报,至少在我的情况下被设置为静音,即使我的常规音量已经达到。看一下设备上“设置”应用中的声音菜单,然后将其调高。
您可能不希望将警报用于实际发布的应用,但是如果声音实际播放很重要,因为它需要用户确保此单独的音频设置已启动。