2012-09-04 69 views
2

我有使用AudioToolbox/AudioServices庫(我已經除去大部分的功能碼的爲簡潔起見),該播放音頻通知一個短方法:音頻播放不工作(AudioToolbox/AudioServices) - 的iPad 3

音頻在模擬器以及iPad 1和iPad 2設備上正確播放,但在iPad 3(Verizon LTE版本)上聽不到聲音。我已經徹底檢查了設備聲音設置,並且還將音頻文件類型轉換爲wav,並且caf的行爲沒有差異。

任何有關解決這個問題的建議更深一層?我遺憾地沒有另外放置iPad 3用於比較。感謝幫助!

回答

0

想通了。當您轉到[設置]並選擇[常規]選項卡下的[聲音]時,您可以驗證鈴聲和提示音量級別是否高於零,並且當移動滑塊時,設備將以新設置的級別響鈴。此外,您還會注意到,您在下面的列表中啓用了所有特定的音調。這是檢查設備設置時把我扔掉的原因。我啓動了YouTube和其他應用程序,並能夠播放聲音。

直到我跟另一個人(誰知道這個產品更好一點)交談之前我沒有意識到的是,還有另一種方法來靜音系統聲音。通過按兩次圓形按鈕,屏幕底部將顯示一個圖標欄。如果您用手指將圖標拖動到右側,則會顯示揚聲器圖標。由於某種原因,這恰好是靜音的......大概在我最近執行了系統恢復之後。點擊它來取消靜音和您的業務。不知道蘋果爲什麼這樣設計它,但如果它在設備設置下可訪問,它會有幫助(併爲我節省了幾個小時的修補)。

0

我不認爲你可以使用AudioServicesPlaySystemSound AudioServicesPlaySystemSound apple document

-(void)playAif:(NSString *)filename { 
// NSLog(@"play: %@", filename); 

SystemSoundID soundID; 
NSString *path = [[NSBundle mainBundle] 
        pathForResource:filename ofType:@"aif"];  


if (path) { // test for path, to guard against crashes 

    UInt32 sessionCategory = kAudioSessionCategory_AmbientSound; // 1 

    AudioSessionSetProperty (
          kAudioSessionProperty_AudioCategory,      // 2 
          sizeof (sessionCategory),         // 3 
          &sessionCategory           // 4 
          ); 

    AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:path],&soundID); 
    AudioServicesPlaySystemSound (soundID); 

} 
} 
+0

其實在設備上播放MP3文件,一旦我想通了,聲音的位置撥動我重新測試播放與所有三個音頻類型他們的工作很棒。你是正確的基於蘋果的文檔,但它仍然播放MP3的沒有問題。 – ninehundredt

+0

有趣,我想嘗試一下。謝謝。 – prashant

+0

我以爲你可能知道「鈴聲和提示音量級別應該高於零」 – prashant