IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ruby on Rails Discussion :

Petit helper cadeau pour ceux qui voudraient utiliser "JW FLV PLAYER"


Sujet :

Ruby on Rails

  1. #1
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut Petit helper cadeau pour ceux qui voudraient utiliser "JW FLV PLAYER"
    Bonjour à tous

    Bon, je me suis assez battu pour le faire fonctionner comme je veux, donc je partage mon helper :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
      # Paramètres à passer :
      # flashvars :
      # file => url du fichier FLV : l'URL part du répertoire public. Ainsi, pour /public/videos/tata.flv, on passera ça : /videos/tata.flv
      def display_video_player(flashvars, embededvars)  
     
        # les flashvars possibles : http://www.jeroenwijering.com/extras/readme.html#flashvars
     
        #flashvars[:image] = '/images/rails.png' # url de l'image affichée avant que ne commence la lecture de la vidéo
        #flashvars[:logo] = '/images/rails.png' # url du logo affiché en haut à droite (watermark)
        #flashvars[:overstretch] = false if flashvars[:overstretch].nil?# La vidéo se redimentionne dans un sens ou dans l'autre pour s'adapter à la taille du player, en gardant ses proportions
        #flashvars[:showdigits] = false if flashvars[:showdigits].nil? # cache le temps restant
        #flashvars[:showstop] = true if flashvars[:showstop].nil?# affiche le bouton stop
        #flashvars[:volume] = 100 # initialise le volume au max
        #flashvars[:backcolor] = '0xFFFFFF' # couleur de fond de la barre de navigation
        #flashvars[:frontcolor] = '0x000000' # Couleur par défaut des boutons
        #flashvars[:lightcolor] = '0x333333' # couleur des boutons au survol
        #flashvars[:screencolor] = '0x666666' # couleur de fond de la fenêtre de visionnage
     
        # Taille par défaut de la vidéo
        embededvars[:width] ||= 400
        embededvars[:height] ||= 300
     
        # Rajoute les 20 px en hauteur de la barre de navigation pour respecter la taille de la vidéo
        embededvars[:height] = embededvars[:height].to_i + 20
        # Permet d'utiliser le fullscreen si la version de flash le permet. Sinon, cache le bouton
        embededvars[:allowfullscreen] = true if embededvars[:allowfullscreen].nil? # Permet d'utiliser le fullscreen si la version de flash le permet. Sinon, cache le bouton
     
     
        # URL encode les valeurs du hash
        flashvars.each_pair { |key, value| 
          flashvars[key] = CGI::escape(value.to_s)
        }
        # Convertit le hash en tableau
        flashvars = flashvars.to_a
        # Joint chaqun des éléments des sous-tableaux entre aux, séparés par un =
        flashvars.each { |val|
          flashvars[flashvars.index(val)] = val.join('=')
        }
        # Joint les différents sous-tableaux, séparés par des &
        flashvars = flashvars.join('&')
     
     
        # URL encode les valeurs du hash
        embededvars.each_pair { |key, value| 
          embededvars[key] = '"' + CGI::escape(value.to_s) + '"'
        }
        # Convertit le hash en tableau
        embededvars = embededvars.to_a
        # Joint chaqun des éléments des sous-tableaux entre aux, séparés par un =
        embededvars.each { |val|
          embededvars[embededvars.index(val)] = val.join('=')
        }
        logger.debug '___________________________________'
        logger.debug embededvars.inspect
        logger.debug '___________________________________'
        # Joint les différents sous-tableaux, séparés par un espace
        embededvars = embededvars.join(' ')    
     
     
        player = '<embed src="/chemin/du/player/flvplayer.swf"'
        player += ' ' + embededvars
        player += ' flashvars="'
        player += flashvars
        player += '" />'
      end
    Attention : certaines des options ci-dessus ne sont dispos que dans la dernière version (la 3.13 au moment où j'écris ces notes).

    Vous avez dans les commentaires un lien pour voir toutes les options applicables, dont certaines fort sympathiques (la recommandation notamment).

    Bref, j'espère que ça servira à certain d'entre vous

    PB
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  2. #2
    Membre actif

    Inscrit en
    Mai 2002
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mai 2002
    Messages : 328
    Points : 209
    Points
    209
    Par défaut
    merci beaucoup !

  3. #3
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    à titre d'infos, pour les flashvars par défaut, il est possible d'utiliser un XML (pis ça allège le helper) :

    If you have lots of flashvars and you don't want to mess up your HTML pages, you can also aggregate your flashvars in a single XML file like this one. Next, assign this xml file to the config flashvar of your player. That way, all vars inside the config will be parsed with one line of code. Any additional flashvars you do set in your HTML will override the ones that are in the config XML.
    Cool non, et toutes les variables qu'on passe viennent écraser les vars par défaut
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

Discussions similaires

  1. Petit rappel pour ceux qui auraient oublié
    Par zecreator dans le forum La taverne du Club : Humour et divers
    Réponses: 1
    Dernier message: 05/12/2014, 22h45
  2. Utiliser Infopath pour ceux qui n'ont pas Infopath
    Par tom1855 dans le forum InfoPath
    Réponses: 2
    Dernier message: 16/08/2009, 23h06
  3. Réponses: 13
    Dernier message: 06/12/2006, 00h51
  4. IIS + Apache + mysql...pour ceux qui ont déjà installé
    Par ludophil dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 15/10/2005, 02h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo