2017-04-17 4 views
0

Je crée une application pour tvOS avec AVAudioPlayer. Je souhaite que le bouton Lecture/Pause de l'Apple TV Remote active/désactive l'AVAudioPlayer. Voici mon code que j'ajouté dans le délégué App jusqu'à présent:Référence AVAudioPlayer dans App Delegate (tvOS)

func initializePlayButtonRecognition() { 
     addPlayButtonRecognizer(#selector(AppDelegate.handlePlayButton(_:))) 
    } 

    func addPlayButtonRecognizer(_ selector: Selector) { 
     let playButtonRecognizer = UITapGestureRecognizer(target: self, action:selector) 
     playButtonRecognizer.allowedPressTypes = [NSNumber(value: UIPressType.playPause.rawValue as Int)] 
     self.window?.addGestureRecognizer(playButtonRecognizer) 
     playButtonRecognizer.allowedTouchTypes = [NSNumber(value: UITouchType.indirect.rawValue)] 
    } 


    func handlePlayButton(_ sender: AnyObject) { 
     if audioPlayer.isPlaying { 
      audioPlayer.pause() { 
      } else { 
       audioPlayer.play() 
      } 

    } 
} 

Les problèmes est que le délégué App ne sait rien au sujet de la AVAudioPlayer (Audioplayer). L'audioPlayer est déclaré ion MusicViewController. Comment puis-je faire savoir à l'App Delegate ce qu'est AudioPlayer? Je reçois cette erreur - l'utilisation de l'identificateur non résolu 'audioPlayer'

+0

double: http: //stackoverflow.com/questions/43428807/add-action-to-apple-tv-remote-play-pause-button –

+0

double possible de [Ajouter Action Apple TV Remote Play/Pause Button] (http://stackoverflow.com/questions/43428807/add-action-to-apple-tv-remote-play-pause-button) –

Répondre

0

Alors avez-vous créé une instance d'un AVAudioPlayer?

let player = try AVAudioPlayer(contentsOf: url) 
player.play()