2010-02-09 123 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; 
    }