2010-08-24 230 views
1

我在我的應用程序上有按鈕,並有一個短暫的聲音效果,當用戶點擊按鈕,短暫的聲音播放,但如果有人聽音樂,音樂將停止!我該如何處理?播放音樂和我的效果,我使用AudioToolbox框架。 我讀過蘋果文檔不適用於AVFoundation.framework!由於某些原因,我無法更改我的代碼!有什麼辦法systemSoundID?播放短音後iPod音樂將停止播放!

-(void)soundType{ 

NSString *path = [NSString stringWithFormat:@"%@%@",[[NSBundle mainBundle] resourcePath], @"/type.wav"]; 

SystemSoundID soundID; 

NSURL *filePath = [NSURL fileURLWithPath:path isDirectory:NO]; 

AudioServicesCreateSystemSoundID((CFURLRef)filePath, &soundID); 

AudioServicesPlaySystemSound(soundID); 

}

回答

1

你的意思是,當iPod的音樂播放,並運行你的應用程序,音樂停止?如果是這樣,則應將音頻會話設置爲環境聲音,以便iPod可以繼續播放。試試這個:

AudioSessionInitialize(NULL, NULL, NULL, self); 
UInt32 category = kAudioSessionCategory_AmbientSound; 
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(category), &category); 
AudioSessionSetActive(YES); 
+0

很棒:)謝謝。 – Momi 2010-08-25 11:30:11

1

您可以嘗試使用NSSound

NSSound *snd = [[NSSound alloc] initWithContentsOfFile: fileName byReference: NO]; 
[snd play]; 
+0

什麼是NSSound!因爲沒有在Foundation Framework中找到任何東西 – Momi 2010-08-24 19:58:58

+0

NSSound是一個用於播放聲音文件(如AIFF,WAV和.snd文件)的簡單界面。其不在基礎框架內,其由應用工具包提供。你可以探索NSSound。 僅供參考:http://developer.apple.com/mac/library/documentation/cocoa/reference/ApplicationKit/Classes/NSSound_Class/Reference/Reference.html – cooltechnomax 2010-08-25 02:39:58