Logo Search packages:      
Sourcecode: videoporama version File versions  Download package

def mplayer::Mplayer::demarrerMPlayer (   self )
démarrage de mplayer avec les arguments choisis

Definition at line 400 of file mplayer.py.

                           :
    """démarrage de mplayer avec les arguments choisis"""
    if self.estLue:
      return True
    
    args = QStringList()  # Liste Qt qui contiendra les options de mplayer
          # Ajout d'options à liste: args << "-option"
    
    # mplayer fonctionnera comme un terminal dans ce script
    args << "-slave"
    # on ne veut pas avoir des commentaires sans grand intérêt
    args << "-quiet"

    # Sous linux, aucun driver n'a été nécessaire et pas de manip pour Wid :)
    if self.systeme=='posix':
      # try - except?
      # la fenêtre de mplayer restera attaché à la fenêtre
      # wid prend en valeur le nombre identifiant le widget (celui qui contiendra la vidéo)
      args << "-wid" << QString.number(self.cibleVideo.winId()) # Objet QString car args est une liste de ch de caractères
      settings = QSettings()
      videoOutput = settings.value("vo", QVariant('')).toString()
      if videoOutput:
        args << '-vo' << videoOutput
      
    # Sous windows
    else:
      # reinterpret_cast<qlonglong> obligatoire, winId() ne se laissant pas convertir gentiment ;)
      args << "-wid" << self.cibleVideo.winId().__hex__()
      args << "-vo" << "directx:noaccel"
      #args << "-vo" << "gl" # alternative

    # chemin de la vidéo
    args << self.listeVideos
    
    if PYQT_VERSION_STR >= "4.1.0":
      # mode de canal: on fusionne le canal de sortie normal (stdout) et celui des erreurs (stderr)
      self.mplayerProcess.setProcessChannelMode(QProcess.MergedChannels)
    # démarrage de mplayer (en tenant compte des arguments définis ci-dessus) 
    # comme un nouveau processus
    self.mplayerProcess.start(self.cheminMPlayer, args)
    # au cas où mplayer ne démarrerait pas au bout de 3 sec (ex. problème de codec)
    if not self.mplayerProcess.waitForStarted(3000):
      QMessageBox.critical(self, self.VideoporamaInstance.qtapp.translate("MPlayerDlg","Warning"), self.VideoporamaInstance.qtapp.translate("MPlayerDlg","Error when starting mplayer"))
      return False
    
    # donne le temps toutes les x secondes
    self.timer.start(self.dureeTimer)
    
    self.estLue = True
    
    return True
  

Generated by  Doxygen 1.6.0   Back to index