2011-05-29 180 views
1

我試圖在iPod音樂之上播放聲音,但是當我輸入我的應用程序時,iPod聲音會自動消音。我想:iPhone:如何在iPod上播放聲音?

UInt32 sessionCategory = kAudioSessionCategory_AmbientSound; 
     AudioSessionSetProperty (kAudioSessionProperty_AudioCategory,         
           sizeof (sessionCategory), 
           &sessionCategory         
           ); 

但可能是因爲我用RemoteIO /音頻單元發揮出自己的聲音這沒有任何影響(不知道如果是這樣的原因,但可以肯定的事情什麼都不做......的聲音還是停止)

我錯過了什麼?

回答

1

AudioSessionSetProperty返回一個錯誤,你檢查了嗎?

您可能忘記調用AudioSessionInitialize,您不需要使用AVFoundation包裝。

+0

的確,我沒有調用'AudioSessionInitialize',但是,足夠奇怪我檢查它沒有返回任何錯誤,會選擇你的答案,因爲它解釋了爲什麼上面的代碼不工作 – 2011-05-29 14:12:33

3

出於某種原因,在問題的代碼無法正常工作,但這個工程:

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryAmbient error: nil]; 
0
@property (nonatomic, strong) AVAudioPlayer * avAudioPlayer; 


NSString *zeroAudioPath = [[NSBundle mainBundle] pathForResource:@"customSound" ofType:@"wav"]; 
NSURL *file = [[NSURL alloc] initFileURLWithPath:zeroAudioPath]; 
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:file 
                   error:nil]; 
self.avAudioPlayer = audioPlayer; 
self.avAudioPlayer.delegate = self; 
[_zeroAudioPlayer prepareToPlay]; 
AVAudioSession *session = [AVAudioSession sharedInstance]; 
[session setCategory:AVAudioSessionCategoryPlayback error:&error]; 
[_zeroAudioPlayer play]; 

希望它能幫助你。