2013-02-28 62 views
1

我在Objective-C中使用AudioServicesPlaySystemSound播放音效。他們在模擬器和iPad揚聲器上播放的音量非常大,但是當我將iPad的音頻線插入揚聲器時,聲音很低,幾乎聽不到。我嘗試過不同的揚聲器,並獲得相同的效果。通過藍牙,聲音仍然安靜,但至少可以聽到。這是我的代碼:System聲音在揚聲器上非常安靜地播放 - C,Objective-C

- (IBAction)playSound:(UIButton *)sender 
{ 
    NSString *path = [NSString stringWithFormat: @"%@/%@", [[NSBundle mainBundle] resourcePath], @"MySoundEffect.caf"]; 
    NSURL *filePath = [NSURL fileURLWithPath: path isDirectory: NO]; 
    NSLog(@"filepath = %@", filePath); 

    SystemSoundID soundID; 
    AudioServicesCreateSystemSoundID((__bridge CFURLRef)filePath, &soundID); 

    AudioServicesPlaySystemSound(soundID); 
} 
+3

請勿濫用用於構建路徑名的格式化字符串。 '[[NSBundle mainBundle] pathForResource:@「MySoundEffect」ofType:@「caf」]'應該足夠好。 – 2013-02-28 21:11:00

+1

簡單的問題:揚聲器是否有內置放大器? *即*他們是否供電?當他們插入不同的設備時,它們是否會產生正常的音量?聽起來就像你試圖直接從線路輸出驅動揚聲器。 – paddy 2013-02-28 21:11:34

+0

或者iPad的耳機音量設置得非常低...... – duskwuff 2013-02-28 21:13:27

回答

0

這似乎是簡單地使用AudioServicesPlaySystemSound的問題。我的解決方法是使用SimpleAudioEngine,它在後臺執行一些工作,我假設即使在通過藍牙或線路播放時也保持音頻音量和質量不變。

相關問題