iPhone:如何在iPod声音之上播放声音?

时间:2011-05-29 12:51:35

标签: iphone objective-c ios core-audio audiounit

我正在尝试在iPod音乐的基础上播放声音但是当我进入我的应用程序时,iPod声音会自动静音。我试过了:

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

但可能是因为我使用RemoteIO / Audio Units来播放我的声音,这没有任何效果(不确定这是否是原因,但确定无效......声音仍然停止)

我遗失了什么?

3 个答案:

答案 0 :(得分:3)

出于某种原因,问题中的代码不起作用,但这有效:

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryAmbient error: nil];

答案 1 :(得分:1)

AudioSessionSetProperty返回错误,您要检查吗?

您可能忘记调用AudioSessionInitialize,这是您不需要对AVFoundation包装器执行的操作。

答案 2 :(得分:1)

@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];

希望它会对你有所帮助。