2011-05-29 132 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]; 

希望它能帮助你。