如何在静音模式iPhone sdk中播放声音文件?
我试图以静音模式播放声音文件,但结果为零
我试过这段代码
SystemSoundID soundID;
AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:fullpath],&soundID);
AudioServicesPlaySystemSound (soundID);
当我导入头文件
时#import <AudioToolbox/AudioToolbox.h>
创建错误
错误:'\ x786f7073'之前的预期标识符
Asnwer尽快.....
提前致谢
方面
StupidiPhoneDeveloper
答案 0 :(得分:3)
您必须定义一个静音开关未静音的音频会话类别。
查看apple dev网站上的音频会话页面:http://developer.apple.com/library/ios/#documentation/Audio/Conceptual/AudioSessionProgrammingGuide/AudioSessionCategories/AudioSessionCategories.html%23//apple_ref/doc/uid/TP40007875-CH4-SW1
也许你需要AVAudioSessionCategoryPlayAndRecord。
答案 1 :(得分:3)
感谢Buddy这么快的回复 我找到了解决方案
通过以下代码,您可以查看您的iPhone配置文件(常规/静音) 这是代码
CFStringRef state;
UInt32 propertySize = sizeof(CFStringRef);
AudioSessionInitialize(NULL, NULL, NULL, NULL);
AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &propertySize, &state);
if(CFStringGetLength(state) == 0) {
//SILENT
NSLog(@"Silent switch is on");
//create vibrate
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
//this 2 line below use to play audio even in silent/vibrator mode too
UInt32 audioCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty( kAudioSessionProperty_AudioCategory, sizeof(UInt32), &audioCategory);
}
else {
//NOT SILENT
NSLog(@"Silent switch is off");
}
关于此错误
error: expected identifier before '\x786f7073'
只需在每个类头文件中写下以下行
#import <AudioToolbox/AudioToolbox.h>