如何在蓝牙连接设备上播放歌曲(在Objective C中开发的应用程序)

时间:2014-09-18 12:22:41

标签: objective-c iphone audio bluetooth google-glass

我开发了一款可用作自定义音乐播放器的iPhone应用程序。我设法将iPhone中所有歌曲的列表放到UITableView中。当我播放一首歌时,声音来自iPhone音频扬声器而不是蓝牙连接设备。

在这种情况下,我通过蓝牙将iPhone连接到谷歌眼镜。当在iPhone上收到电话时,我可以通过Google Glass耳机听到来电者的声音。但是,当我在我的应用程序中播放歌曲时,音频不会重定向到Glass耳机。音频通过iPhone的扬声器播放。我原本想要的是通过蓝牙连接设备播放音乐,

请告知我有关从蓝牙连接设备而非电话扬声器传输音频的正确方法。

我写的应该这样做的代码如下:

 AVAudioSession* audioSession = [AVAudioSession sharedInstance];

    [audioSession setDelegate:self];

   [audioSession setCategory: AVAudioSessionCategoryPlayAndRecord error: nil];

    [audioSession setActive: YES error: nil];



    // set up for bluetooth microphone input

    UInt32 allowBluetoothInput = 1;

    OSStatus stat = AudioSessionSetProperty (

                                             kAudioSessionProperty_OverrideCategoryEnableBluetoothInput,

                                             sizeof (allowBluetoothInput),

                                             &allowBluetoothInput

                                             );

    NSLog(@"status = %x", (int)stat);    // problem if this is not zero



    // check the audio route

    UInt32 size = sizeof(CFStringRef);

    CFStringRef route;

    OSStatus result = AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &size, &route);

    NSLog(@"route = %@", route);

    NSLog(@"result = %d", (int)result);

   CFBundleRef mainBundle = CFBundleGetMainBundle();

    CFURLRef        soundFileURLRef;

    SystemSoundID   soundFileObject;

    soundFileURLRef  = CFBundleCopyResourceURL (mainBundle,CFSTR ("bomb"),CFSTR ("wav"),NULL);

    AudioServicesCreateSystemSoundID (soundFileURLRef,&soundFileObject);

    AudioServicesPlaySystemSound (soundFileObject);

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

目前,Glass不能用作音乐的通用蓝牙耳机,因为它不支持A2DP蓝牙配置文件。