2016-07-22 24 views
0

Ich versuche zu erkennen, wenn Benutzer die Kopfhörer-Tasten drücken, dass ich 2 Methoden verwende.Wie erkennt man die Kopfhörer-Taste?

-(void)headsetMicrophoneDetection 
{ 
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 
    [[MPRemoteCommandCenter sharedCommandCenter].togglePlayPauseCommand addTarget:self action:@selector(onTooglePlayPause)]; 

    NSLog(@"calling headset method"); 
} 
-(void)onTooglePlayPause 
{ 
    NSLog(@"kishore"); 
} 
- (void)remoteControlReceivedWithEvent:(UIEvent *)theEvent 
{ 
    NSLog(@"callig method to :)"); 
    if (theEvent.type == UIEventTypeRemoteControl) { 
     switch(theEvent.subtype) { 
      case UIEventSubtypeRemoteControlTogglePlayPause: 
       NSLog(@"Hello"); 
       break; 
      case UIEventSubtypeRemoteControlPlay: 
       NSLog(@"Hello 2"); 
       break; 
      case UIEventSubtypeRemoteControlPause: 
       NSLog(@"Hello 3"); 
       break; 
      case UIEventSubtypeRemoteControlStop: 
       NSLog(@"Hello 4"); 
       break; 
      default: 
       return; 
     } 
    } 
} 

Aber nach dem Aufruf diese Methode i bekommen did't, was in meinem Code falsch und ich Hintergrunddienst für die Audioprüfung aktivierte & i in NSObject Klasse dies alle Methoden verwenden.

+0

Vermissen Sie: in Ihrem Selektor bei der Definition von Selektor für MPRemoteCommandCenter, da die Methode einen Parameter erwartet? – ldindu

+0

@ldindu nein ich habe nicht verpasst –

Antwort

0

Bitte überprüfen Sie den folgenden Code.

+0

, aber ich möchte überprüfen, ist der Benutzer gedrückt der Taste Lautstärke, play/pause danke für den Beitrag :) –