2012-01-22 114 views
0

我試圖使用核心音頻合成第一代iOS設備上的音頻,並且當前沒有正在播放的音頻。我的代碼適用於iOS4/iPhone4。iOS 3.1.3上的核心音頻無音頻

我沒有使用AUGraph,只是使用AudioComponentFindNext來獲取第一個RemoteIO組件並在其上設置kAudioOutputUnitProperty_EnableIO

我檢查了所有的OSStatus代碼,並且沒有產生任何錯誤。

我也驗證了回調緩衝區正在填充,並且它充滿了有效的採樣數據(用方波測試)。

我出來的想法。幫助將不勝感激。

編輯:這裏是我的音頻會話代碼

UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback; 
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory); 
float aBufferLength = 0.5; // In seconds 
AudioSessionSetProperty(kAudioSessionProperty_PreferredHardwareIOBufferDuration, 
sizeof(aBufferLength), &aBufferLength); 
AudioSessionSetActive(TRUE); 
+0

音量是否升起? (使用按鈕)是否啓用了適當的音頻會話? – hotpaw2

+0

這是一個iPod1,沒有音量按鈕,但我可以確認在另一個遊戲(不是我的)中的音頻是在適當的水平。我用我的音頻會話代碼編輯了這個問題。這是對的嗎? –

回答

1

問題只是我的音頻回調代碼是設備太慢。顯然,當有緩衝區不足時,iOS只會將音頻靜音。