2008-11-19 119 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。

相關問題