bool wxOSXAudioToolboxSoundData::Play(unsigned flags) { Stop(); m_flags = flags; wxCFRef<CFMutableStringRef> cfMutableString(CFStringCreateMutableCopy(NULL, 0, wxCFStringRef(m_sndname))); CFStringNormalize(cfMutableString,kCFStringNormalizationFormD); wxCFRef<CFURLRef> url(CFURLCreateWithFileSystemPath(kCFAllocatorDefault, cfMutableString , kCFURLPOSIXPathStyle, false)); AudioServicesCreateSystemSoundID(url, &m_soundID); AudioServicesAddSystemSoundCompletion( m_soundID, CFRunLoopGetCurrent(), NULL, wxOSXAudioToolboxSoundData::CompletionCallback, (void *) this ); bool sync = !(flags & wxSOUND_ASYNC); AudioServicesPlaySystemSound(m_soundID); if ( sync ) { while( m_soundID ) { CFRunLoopRun(); } } return true; }
void RudeSound::PlayWave(eSoundEffect num) { if(num == kSoundNone) return; #if 0 int result = SoundEngine_StartEffect(m_soundids[num]); //RUDE_ASSERT(result == noErr, "Could not play effect (result = %d)\n", result); #endif #if defined(RUDE_IPHONE) || defined(RUDE_MACOS) AudioServicesPlaySystemSound(m_soundids[num]); #endif }
void wxOSXAudioToolboxSoundData::SoundCompleted() { if ( m_flags & wxSOUND_ASYNC ) { if (m_flags & wxSOUND_LOOP) AudioServicesPlaySystemSound(m_soundID); else Stop(); } else { Stop(); CFRunLoopStop(CFRunLoopGetCurrent()); } }
void SysIPhoneVibrate() { AudioServicesPlaySystemSound( kSystemSoundID_Vibrate ); }