2008-11-19 182 views
45

不知何故,我的iPhone模拟器无法播放声音。首先我正在使用AudioServicesPlaySystemSound()停止工作的应用程序..我花了一段时间调试这个,但当我在设备上运行应用程序时,声音仍然在iPhone上工作。我得到与其他iPhone应用程序相同的结果,例如Crash Landing应用程序示例。声音在iPhone模拟器不工作?

我无法在模拟器或Xcode首选项中的任何位置找到声音设置。我尝试通过“重置内容和设置”菜单项来重置模拟器无济于事。

回答

60

在Mac上,转到系统偏好设置>声音>声音效果,然后取消并重新检查“播放用户界面声音效果”。

您需要重新启动您的系统声音,看到this页的末尾。

+2

谢谢 - 这对我有用。进入系统偏好设置>声音>声音效果,然后取消选中并重新检查“播放用户界面声音效果”。此后iPhone模拟器突然开始播放声音。 – Nick 2009-05-12 09:58:19

+0

感谢它也适用于我! :)与iPhone SDK 3.2和OSX 10.6 – Sadat 2010-08-21 06:02:05

+0

当连接了多个声音输出时,请确保在“播放声音效果”选项中选择正确的输出设备。 – leon 2012-11-30 03:59:53

3

我发现声音在模拟器(2.1 SDK)中非常不一致。有时它起作用,有时它不起作用。即使它工作,它通常非常不稳定和失真(播放mp3等音频文件时)。

有几件事情要记住:一旦

  • 呼叫AudioSessionInitialize为您的应用程序完成启动
  • 通过AudioSessionSetProperty设置kAudioSessionProperty_AudioCategory属性为会话(与一个值,如kAudioSessionCategory_MediaPlayback
  • 通话AudioSessionSetActive(YES)

当然,当一切都失败了,只是你的硬件上运行它!

编辑:现在2.2 SDK发布以来,我还没有与声音在模拟器中的任何问题。他们必须修复错误!我强烈建议你升级到2.2 SDK。

+0

+1感谢您的支持! – 2008-11-20 00:50:27

3

使用2.1 SDK修复了OpenAL在模拟器上不工作。确保Active SDK Active Executable设置为2.1。

顺便说一句,请确保您使用在crashlanding(V1.8)的最后一个版本。 SoundEngine中一些令人讨厌的泄漏问题最近得到解决。

4

我我从OSX10.5.7到10.6.2

更新后看到了这个问题,我做了如下修改,使simulater再唱: 转到“应用程序/管理工具”,然后运行“音频MIDI设置”,然后更改从48000 MIDI格式44100

2

如果重新激活系统声音没有为你试试这个工作: 推出音频MIDI-设置,然后配置你的‘内置输出’使用44.100Hz, 2个通道,24位。 (从http://www.cocos2d-iphone.org/forum/topic/4159

后几天不知怎的,我的iPhone模拟器现在想48.000Hz,2个通道,24位。 只是玩了一下,并警告说,它可能会随机更换时,插入耳机,待机,重新启动等。

这里是一个脱离主题的提示:当你插入耳机到你的iphone/ipad的缓冲区大小可能翻倍(例如从512字节到1024字节),请确保您不依赖于您请求的缓冲区大小!

17

我在模拟器中没有声音,所以我用移动Safari浏览器进行了测试,并尝试播放mp3:没有声音!

以上所有提示都无济于事。最后,我将我的INPUT信号源从虚拟音花设备更改为Line-In,并且模拟器工作正常!

所以,即使应用程序没有使用输入,它也不适合Soundflower。

相关问题