50

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

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

4

6 回答 6

72

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

您需要重新激活系统声音,请参阅本页末尾。

于 2009-02-12T23:55:47.000 回答
21

我在模拟器中没有声音,所以我用移动 safari 测试它并尝试播放 mp3:没有声音!

以上所有提示均无济于事。最终,我将INPUT源从虚拟 soundflower 设备更改为 Line-In,模拟器工作了!

因此,即使应用程序没有使用输入,它也不能很好地与 Soundflower 配合使用。

于 2010-07-10T11:30:43.853 回答
4

我从 OSX10.5.7 更新到 10.6.2 后看到了这个问题

我进行了以下更改以使模拟器再次唱歌:转到“应用程序/实用程序”并运行“音频 MIDI 设置”,然后将 MIDI 格式从 48000 更改为 44100。

于 2009-12-08T06:13:01.200 回答
3

我发现模拟器(2.1 SDK)中的声音非常不一致。有时有效,有时无效。即使它确实有效,它通常也非常不稳定和失真(在播放 mp3 等音频文件时)。

需要记住的几件事:

  • AudioSessionInitialize您的应用程序完成启动后立即致电
  • 通过(使用诸如 的值)设置kAudioSessionProperty_AudioCategory会话的属性AudioSessionSetPropertykAudioSessionCategory_MediaPlayback
  • 称呼AudioSessionSetActive(YES)

当然,当所有其他方法都失败时,只需在您的硬件上运行它!

编辑:现在 2.2 SDK 已经发布,我在模拟器中没有任何声音问题。他们一定已经修复了错误!我强烈建议您升级到 2.2 SDK。

于 2008-11-19T19:47:04.060 回答
3

2.1 SDK 修复了 OpenAL 无法在模拟器上运行的问题。确保 Active SDKActive Executable 设置为 2.1。

顺便说一句,请确保您使用的是最新版本的 CrashLanding (v1.8)。SoundEngine 中的一些令人讨厌的漏洞最近得到了修复。

于 2008-11-20T01:53:35.567 回答
2

如果重新激活系统声音对您不起作用,请尝试以下操作:启动 audio-midi-setup,然后将“内置输出”配置为使用 44.100Hz、2 个通道、24 位。(来自http://www.cocos2d-iphone.org/forum/topic/4159

不知何故,几天后,我的 iphone 模拟器现在想要 48.000Hz,2 个通道,24 位。只需玩一会儿,并警告它在插入耳机、进入待机、重新启动等时可能会随机变化。

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

于 2010-06-12T21:26:03.140 回答