0

所以我已经完成了我能找到的关于 SO 的大部分相关问题,但我仍然无法在静音时播放我的音频。我相信这可能是我犯的一个小错误。

我正在尝试播放一个小的警报声。这是我viewDidLoad方法中的代码:

AudioSessionInitialize (NULL, NULL, NULL, NULL);
AudioSessionSetActive(true);

这是我需要播放音频剪辑时调用的方法

-(void)playAudioClip:(CFStringRef)clip{

CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFile = CFBundleCopyResourceURL(mainBundle, clip, CFSTR("wav"), NULL);

//Supposed to make sound playable even when silent right?
UInt32 soundType = kAudioSessionCategory_MediaPlayback; 
UInt32 soundID;

AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(soundType), &soundType);
AudioServicesCreateSystemSoundID(soundFile, &soundID);
AudioServicesPlaySystmSound(soundID);
}

我从 SO 中得到了大部分内容,并在 Apple 编程指南中确认了这一点。我已经尝试将Uint32两者结合使用,但这也没有做任何事情,在锁定/静音模式下仍然没有播放。有任何想法吗?

4

1 回答 1

1

在静音模式下不播放系统声音。(顾名思义)如果您需要在静音时播放音频,您需要使用不同的方法,如媒体播放器或其他音频方法。查看 Apple 播放音乐的示例。

于 2012-05-24T17:52:38.430 回答