为什么音频在模拟器中工作但在我的iPad上没有?

时间:2011-09-14 05:02:18

标签: xcode ipad ios4 avaudioplayer ios-simulator

我正致力于创建一个非常简单的应用程序。 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);

}

4 个答案:

答案 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上。