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

在这种情况下,我通过蓝牙将iPhone连接到了Google Glass。在iPhone上收到 call 时,我可以通过Google Glass耳机听到 call 者的声音。但是,当我在应用程序中播放歌曲时,音频不会重定向到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);

预先感谢您的帮助!

最佳答案

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

关于objective-c - 如何在连接了蓝牙的设备上播放歌曲(在Objective C中开发的应用),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25912510/

10-13 07:09