2010-08-24 190 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