我正致力于创建一个非常简单的应用程序。 2个按钮,都播放声音。每个剪辑持续1秒钟并响应“TouchUpInside”。它们是我在iTunes中转换的.caf文件。
这是我的代码,再一次,它可以在模拟器中运行,但不在设备上运行:
enter code here- (void)viewDidLoad {
NSLog(@"InView did load");
AudioServicesCreateSystemSoundID ((CFURLRef)[NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"bigaif" ofType:@"caf"]], &systemSoundID);
AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:[[NSBundle mainBundle]
pathForResource: @"smallwav" ofType:@"wav"]],
&systemSoundIDTwo);
}
-(IBAction) playSound:(id) sender {
AudioServicesPlaySystemSound(systemSoundID);
}
-(IBAction) playSoundTwo:(id) sender {
AudioServicesPlaySystemSound(systemSoundIDTwo);
}
答案 0 :(得分:10)
在我的代码中查找过去30分钟的错误后,我发现iPad侧面的静音按钮已打开。在尝试一些奇特的解决方案之前检查一下。
花了30分钟......
答案 1 :(得分:4)
我找到了答案。我正在使用SystemSound,你知道什么,我的系统声音在我的设备设置中被静音了。
答案 2 :(得分:3)
我有同样的问题。我没有添加对AudioToolbox.framework的链接引用,但它仍然在模拟器上工作。 我添加了它,它在设备的应用程序的前景中播放。
然后我想让它在后台播放声音。在info.plist
“所需的背景模式”中,添加密钥“播放音频”。这让它成为后台工作。
答案 3 :(得分:0)
这也发生在我身上。声音在模拟器中播放得很好,但在设备上却没有。我尝试以多种不同的方式播放声音。我使用了SystemSound和AVAudioPlayer两个相同的结果。我甚至downloaded the code from a Mobile Orchard教程,并得到了相同的结果。代码示例在模拟器中运行良好,但无法在设备上播放。
经过2个小时后,我双击iPad上的主页按钮,向左滚动到声音控件,然后点击左侧的扬声器图标。通过扬声器图标放置一个斜线表示系统音量已静音。然后我再次敲击,斜线消失了,然后我能够通过设备播放声音。
所以基本上,我不得不使用这种方法切换设备的静音状态,并将iPad上的某些东西重置到可以听到声音的地方。
请注意,这是在iOS6上。