系统声音服务连接到汽车的蓝牙时无法播放音频

时间:2011-11-06 15:57:08

标签: iphone ios audio sdk system

我正在使用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);

有什么想法吗?

1 个答案:

答案 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
}