我正在使用System Sound Services在我的应用程序中播放音频 它在使用扬声器,耳机甚至是底座USB汽车立体声连接时非常有效。 但是,当手机连接到汽车蓝牙系统时,音频将无法播放。
我想,由于它连接到蓝牙设备,系统声音服务会尝试通过蓝牙发送到音频。
有谁知道如何阻止音频路径尝试通过蓝牙发送声音?
这是我正在使用的代码:
CFURLRef soundFileURLRef;
SystemSoundID soundFileObject;
CFBundleRef mainBundle;
mainBundle = CFBundleGetMainBundle ();
// Get the URL to the sound file to play
soundFileURLRef = CFBundleCopyResourceURL (
mainBundle,
CFSTR ("Alert6"),
CFSTR ("aif"),
NULL
);
// Create a system sound object representing the sound file
AudioServicesCreateSystemSoundID (
soundFileURLRef,
&soundFileObject
);
AudioServicesPlaySystemSound (soundFileObject);
有什么想法吗?
答案 0 :(得分:0)
您可以将输出覆盖到内置扬声器
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker; // lets the system sounds come out of the speaker
OSStatus err = AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute, sizeof(audioRouteOverride), &audioRouteOverride);
if (err != noErr) {
// handle error
}