2010-02-09 93 views
6

使用iphone sdk 3.1.2。iphone如何知道蓝牙耳机连接

有没有办法知道蓝牙耳机是否连接到设备?除非连接或不连接,否则不需要任何信息。这与知道是否插入音频会话的属性侦听器是不同的。

感谢

+0

你得到这个解决方案? – Krishnan 2010-08-05 09:16:34

+0

可能的重复:http://stackoverflow.com/questions/2520296/how-can-i-find-out-if-an-external-headset-is-connected-to-an-iphone – fuzz 2011-05-30 06:16:25

回答

2

调用此方法来找出连接蓝牙耳机或不是。

首先导入这个框架#import <AVFoundation/AVFoundation.h>

- (BOOL) isBluetoothHeadsetConnected 
    { 
     AVAudioSession *session = [AVAudioSession sharedInstance]; 
     AVAudioSessionRouteDescription *routeDescription = [session currentRoute]; 

     NSLog(@"Current Routes : %@", routeDescription); 

     if (routeDescription) 
     { 
      NSArray *outputs = [routeDescription outputs]; 

      if (outputs && [outputs count] > 0) 
      { 
       AVAudioSessionPortDescription *portDescription = [outputs objectAtIndex:0]; 
       NSString *portType = [portDescription portType]; 

       NSLog(@"dataSourceName : %@", portType); 

       if (portType && [portType isEqualToString:@"BluetoothA2DPOutput"]) 
       { 
        return YES; 
       } 
      } 
     } 

     return NO; 
    }