2016-12-16 1 views
0

Je dois afficher une vidéo dans mon application et souhaiter la redimensionner.Mac OSX redimensionner rapidement l'affichage de la vidéo

Sur un bouton, j'ai un Segue Modal.

Le code de la vue est:

import Cocoa 
import AVKit 
import AVFoundation 
import MediaPlayer 
class NSViewController2: NSViewController { 

    let controller=AVPlayerView()  
    override func viewDidLoad() { 
     super.viewDidLoad() 

     let player = AVPlayer(url: v2!) 
     controller.player=player 
     controller.frame = self.view.frame 

     self.view.addSubview(controller) 
     player.play() 

    } 
} 

La vidéo commence bien et s'affiche, mais quand je redimensionner les fenêtres modales, la vidéo ne sont pas redimensionnée ..

Toute idée?

Merci, Nicolas

+0

Pourquoi n'utilisez-vous pas une notification pour la fenêtre en cours de redimensionnement et redimensionner le lecteur vidéo? –

+0

Je n'ai pas pensé à ça, merci. –

+0

Avez-vous une chance de savoir comment l'événement est appelé? –

Répondre

0

Si quelqu'un se demande ..

import Cocoa 
import AVKit 
import AVFoundation 
import MediaPlayer 

class competitionVideoViewController: NSViewController , NSWindowDelegate { 

    let controller=AVPlayerView() 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     if (competitionSelected >= 0 && competitions[competitionSelected].video != nil) { 
      let player = AVPlayer(url: competitions[competitionSelected].video!) 
      controller.player=player 
      controller.frame = self.view.frame 
      self.view.addSubview(controller) 
      player.play() 
     } 
    } 

    func windowDidResize(_ notification: Notification) { 
     controller.frame = self.view.frame 
    } 

} 

1/Ajouter le NSWindowDelegate, dans la classe

2/Ajouter la fonction "windowDidResize"