Bass is playing background music, and I'm using AVAudioPlayer to play sounds over top of bass. The goal is to have the music playing continuously and occasionally overlay other sounds. The overlaying works perfectly, the problem is that once the first AVAudioPlayer get kicked off, the music will ONLY play when the AVAudioPlayer is playing. I looked into the session pretty thoroughly, and there is no change in the following settings between the music starting (no problems) and the AVAudioPlayer playing (music only while avaudioplayer is running). As far as I can tell, the problem isn't with the session settings, as the audio plays exactly as I'd like it to. Is there a more preferred way to play sounds on top of a BASS music stream? I just went with AVAudioPlayer because it was extremely convenient.
Oh, and it does bear mentioning that the app itself is an event-based app, which periodically will wake up from a timer or a UI event (and more than likely want to play a sound) but is ordinarily not continuously processing. I've been looking around for documentation as to how BASS fits itself into the main application run loop but haven't had any luck as yet. Are you spawning a pthread to decode/ process the file perhaps? Could there be some problem with that thread not being scheduled properly?
kAudioSessionProperty_AudioCategory
kAudioSessionProperty_OtherAudioIsPlaying
kAudioSessionProperty_ServerDied
kAudioSessionProperty_CurrentHardwareInputNumberChannels
kAudioSessionProperty_OverrideAudioRoute
kAudioSessionProperty_OtherMixableAudioShouldDuck
kAudioSessionProperty_OverrideCategoryMixWithOthers