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

JavaScript Discussion :

Extraire une image � partir d'une vid�o (Projekktor)


Sujet :

JavaScript

  1. #1
    Membre averti
    Femme Profil pro
    �tudiant
    Inscrit en
    Avril 2016
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 15
    Par d�faut Extraire une image � partir d'une vid�o (Projekktor)
    Bonjour,

    Mon souci est le suivant:

    Comment extraire une image � partir d'une vid�o � un temps bien pr�cis.C'est � dire quand l'utilisateur clique sur une position sur le timeline de la vid�o, je r�cup�re la position puis je stocke l'image correspondante dans un dossier dans mon projet.

    NB: Le player que j'utilise est Projekktor

    J'ai deja fait le code qui me permet de r�cup�rer la position, mais comment obtenir l'image?

    voila l'ensemble de fonctions(getters) de ce player http://www.projekktor.com/docs/api#getters

    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    <!DOCTYPE HTML>
    <html>
    <head>
        <title>Projekktor - simply mighty video</title>
        <style type="text/css">
        body { background-color: #fdfdfd; padding: 0 20px; color:#000; font: 13px/18px monospace; width: 800px;}
        a { color: #360; }
        h3 { padding-top: 20px; }
        </style>
     
        <!-- Load player theme -->
        <link rel="stylesheet" href="themes/maccaco/projekktor.style.css" type="text/css" media="screen" />
     
        <!-- Load jquery -->
        <script type="text/javascript" src="jquery-1.9.1.min.js"></script>
     
        <!-- load projekktor -->
        <script type="text/javascript" src="projekktor-1.3.09.min.js"></script>
     
    </head>
    <body>
    <video class="projekktor" poster="http://www.projekktor.com/wp-content/manual/intro.png" title="This is Projekktor" width="640" height="385" controls id="player_a">
        <source src="http://www.projekktor.com/wp-content/manual/intro.mp4" type="video/mp4" />
        <source src="http://www.projekktor.com/wp-content/manual/intro.webm" type="video/webm" />
        <source src="http://www.projekktor.com/wp-content/manual/intro.ogv" type="video/ogg" />
    </video>
    <script type="text/javascript">
    /*
    This script is just an example and included to build up the "demo status panel".
    For daily practice installing the player to your site is MUCH simpler and stright forward.
    Please take a look at http://www.projekktor.com/docs/quickinstall
    */
    jQuery(document).ready(function($) {
     
        // two video items we can dynamically inject for testing purposes:
        var videoOne = { 0:{src: 'http://www.youtube.com/watch?v=emvpc0N0WR4', type: 'video/youtube'} }
        var videoTwo = { 0:{src: 'http://www.youtube.com/watch?v=emvpc0N0WR4', type: 'video/youtube'} }
     
        /*********************************************************************
        Some player event listeners to set general status information:
        *********************************************************************/
     
           var seekListener=function(Obj) {   
       $('#mouseclick').html(myPlayer.getPosition())
       //$('#mouseclick').html(myPlayer.getMediaType())
     
       //alert(projekktor('video').getPosition())
        //$('#time').text()
        }
     
     
        /*********************************************************************
          Configure and instantiate the player and
          apply an "onReady" callback function
        *********************************************************************/   
        var myPlayer = projekktor('#player_a', {
        debug: false,
        playerFlashMP4: 'http://www.projekktor.com/wp-content/manual/jarisplayer.swf',
        playerFlashMP3: 'http://www.projekktor.com/wp-content/manual/jarisplayer.swf',   
        plugin_display: {
               logoImage: "yourlogo.png"
        }
        }, function(player) {
     
        // add listeners
        player.addListener('seek', seekListener);
     
     
        });   
    });
    </script>
    <div id="panel">
        <ul class="info">
     
        <li>Mouse click <span id="mouseclick" ></span></li>
     
     
        </ul>
        <div style="clear:both;"></div>
    </div>
    </body>
    </html>

  2. #2
    Membre tr�s actif
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    744
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 80
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activit� : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 744
    Par d�faut
    jour

    il faut passer par un canevas afin de r�cup�r� l'image puis on l'enregistre soit en base 64 ou en ficher par conversion en blob

  3. #3
    Membre averti
    Femme Profil pro
    �tudiant
    Inscrit en
    Avril 2016
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 15
    Par d�faut
    Meerci beaucoup pour votre r�ponse.en fait j'ai pas bien saisie ce que vous voulez dire .Pouvez-vous m'expliquez et me donner un exemple!

  4. #4
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    J�ajoute � la r�ponse de melka one : la m�thode de canevas drawImage permet de r�cup�rer une � capture � d�un �l�ment <video>. Il suffit d�avoir une r�f�rence sur l��l�ment en question, le reste est pris en charge par le navigateur.

    Pour convertir en blob, il faut utiliser la m�thode toBlob du canevas.

    Voici comment faire en d�tails :
    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
    // 1. Obtenir une référence sur l’élément <video>
    var player = document.querySelector('#player_a');
     
    // 2. Créer un canevas aux dimensions de la vidéo
    var canvas = document.createElement('canvas');
    canvas.width = player.width;
    canvas.height = player.height;
     
    // 3. Obtenir le contexte de dessin du canevas
    var cx = canvas.getContext('2d');
     
    // 4. Capturer l’image actuelle de la vidéo
    cx.drawImage(player, 0, 0, canvas.width, canvas.height);
     
    // 5. Convertir l’image capturée en fichier, et créer un lien vers ce fichier
    canvas.toBlob(function (blob) {
      var a = document.createElement('a');
      a.href = URL.createObjectURL(blob);
      a.target = '_blank';
      a.textContent = 'Voir l’image capturée';
      document.body.appendChild(a);
    });
    C�est basique mais �a te donne une id�e de comment faire. Reste � trouver comment :
    capturer un instant sp�cifique de la vid�o
    contourner les probl�mes de s�curit� avec les vid�os provenant d�un autre domaine (voir https://developer.mozilla.org/fr/doc..._CORS_activees)
    envoyer les captures vers le serveur

    Reviens nous dire comment tu progresses
    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

  5. #5
    Membre averti
    Femme Profil pro
    �tudiant
    Inscrit en
    Avril 2016
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 15
    Par d�faut
    J'ai bien essay� ce code mais rien n'est chang� :/
    j'ai associ� votre code � l'�venement "seek" (il se d�clenche quand on clique su une position dans le timeline de la vid�o).
    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    <!DOCTYPE HTML>
    <html>
    <head>
        <title>Projekktor - simply mighty video</title>
        <style type="text/css">
        body { background-color: #fdfdfd; padding: 0 20px; color:#000; font: 13px/18px monospace; width: 800px;}
        a { color: #360; }
        h3 { padding-top: 20px; }
        </style>
     
        <!-- Load player theme -->
        <link rel="stylesheet" href="themes/maccaco/projekktor.style.css" type="text/css" media="screen" />
     
        <!-- Load jquery -->
        <script type="text/javascript" src="jquery-1.9.1.min.js"></script>
     
        <!-- load projekktor -->
        <script type="text/javascript" src="projekktor-1.3.09.min.js"></script>
     
    </head>
    <body>
    <video class="projekktor" poster="http://www.projekktor.com/wp-content/manual/intro.png" title="This is Projekktor" width="640" height="385" controls id="player_a">
        <source src="http://www.projekktor.com/wp-content/manual/intro.mp4" type="video/mp4" />
        <source src="http://www.projekktor.com/wp-content/manual/intro.webm" type="video/webm" />
        <source src="http://www.projekktor.com/wp-content/manual/intro.ogv" type="video/ogg" />
    </video>
    <script type="text/javascript">
    /*
    This script is just an example and included to build up the "demo status panel".
    For daily practice installing the player to your site is MUCH simpler and stright forward.
    Please take a look at http://www.projekktor.com/docs/quickinstall
    */
    jQuery(document).ready(function($) {
     
        // two video items we can dynamically inject for testing purposes:
        var videoOne = { 0:{src: 'http://www.youtube.com/watch?v=emvpc0N0WR4', type: 'video/youtube'} }
        var videoTwo = { 0:{src: 'http://www.youtube.com/watch?v=emvpc0N0WR4', type: 'video/youtube'} }
     
        /*********************************************************************
        Some player event listeners to set general status information:
        *********************************************************************/
     
           var seekListener=function(Obj) {    
       $('#mouseclick').html(myPlayer.getPosition())
    //******************Votre code******************
        // 1. Obtenir une référence sur l’élément <video>
    var player = document.querySelector('player_a');
     
    // 2. Créer un canevas aux dimensions de la vidéo
    var canvas = document.createElement('canvas');
    canvas.width = player.width;
    canvas.height = player.height;
     
    // 3. Obtenir le contexte de dessin du canevas
    var cx = canvas.getContext('2d');
     
    // 4. Capturer l’image actuelle de la vidéo
    cx.drawImage(player, 0, 0, canvas.width, canvas.height);
     
    // 5. Convertir l’image capturée en fichier, et créer un lien vers ce fichier
    canvas.toBlob(function (blob) {
      var a = document.createElement('a');
      a.href = URL.createObjectURL(blob);
      a.target = '_blank';
      a.textContent = 'Voir l’image capturée';
      document.body.appendChild(a);
    });
        }
     
     
        /*********************************************************************
          Configure and instantiate the player and
          apply an "onReady" callback function
        *********************************************************************/    
        var myPlayer = projekktor('#player_a', {
        debug: false,
        playerFlashMP4: 'http://www.projekktor.com/wp-content/manual/jarisplayer.swf',
        playerFlashMP3: 'http://www.projekktor.com/wp-content/manual/jarisplayer.swf',    
        plugin_display: {
               logoImage: "yourlogo.png"
        }, controls: true,
        addplugins: ['controlbar']
        }, function(player) {
     
        // add listeners
        player.addListener('seek', seekListener);
        //$('#player_a').addEventListener('mouseup', mouseUpListener);
        // player dom id
        $('#playerid').html(player.getId());
     
     
        });    
    });
    </script>
    <div id="panel">
        <ul class="info">
     
        <li>Mouse click <span id="mouseclick" ></span></li>
     
        </ul>
     
     
        <div style="clear:both;"></div>
    </div>
     
     
    </body>
    </html>

  6. #6
    Membre averti
    Femme Profil pro
    �tudiant
    Inscrit en
    Avril 2016
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 15
    Par d�faut
    j'ai trouv� une autre solution similaire et �a marche, mais le probleme c'est que d�s que je rajoute mon code de projekktor �a marche plus je ne sais pas pourquoi !!
    j'ai pris le code de ce lien : http://isithackday.com/videograbber/
    voil� le code:
    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    <!DOCTYPE HTML>
    <html>
    <head>
        <title>Projekktor - simply mighty video</title>
        <style type="text/css">
        body { background-color: #fdfdfd; padding: 0 20px; color:#000; font: 13px/18px monospace; width: 800px;}
        a { color: #360; }
        h3 { padding-top: 20px; }
        </style>
     
        <!-- Load player theme -->
        <link rel="stylesheet" href="themes/maccaco/projekktor.style.css" type="text/css" media="screen" />
     
        <!-- Load jquery -->
        <script type="text/javascript" src="jquery-1.9.1.min.js"></script>
     
        <!-- load projekktor -->
        <script type="text/javascript" src="projekktor-1.3.09.min.js"></script>
     
    </head>
    <body>
    <div id="video">
    <video class="projekktor" poster="http://www.projekktor.com/wp-content/manual/intro.png" title="This is Projekktor" width="640" height="385" controls id="player_a">
        <source src="http://www.projekktor.com/wp-content/manual/intro.mp4" type="video/mp4" />
        <source src="http://www.projekktor.com/wp-content/manual/intro.webm" type="video/webm" />
        <source src="http://www.projekktor.com/wp-content/manual/intro.ogv" type="video/ogg" />
    </video>
    </div>
    <div id="canvas">
      <h2>Preview (click to store images below):</h2>
      <canvas></canvas>
    </div>
    <div id="save">
      <h2>Your saved images:</h2>
      <ul></ul>
    </div>
    <script type="text/javascript">
    /*
    This script is just an example and included to build up the "demo status panel".
    For daily practice installing the player to your site is MUCH simpler and stright forward.
    Please take a look at http://www.projekktor.com/docs/quickinstall
    */
    jQuery(document).ready(function($) {
     
        // two video items we can dynamically inject for testing purposes:
        var videoOne = { 0:{src: 'http://www.youtube.com/watch?v=emvpc0N0WR4', type: 'video/youtube'} }
        var videoTwo = { 0:{src: 'http://www.youtube.com/watch?v=emvpc0N0WR4', type: 'video/youtube'} }
     
        /*********************************************************************
        Some player event listeners to set general status information:
        *********************************************************************/
     
           var seekListener=function(Obj) {    
       $('#mouseclick').html(myPlayer.getPosition())
     
     
        }
     
     
        /*********************************************************************
          Configure and instantiate the player and
          apply an "onReady" callback function
        *********************************************************************/    
        var myPlayer = projekktor('#player_a', {
        debug: false,
        playerFlashMP4: 'http://www.projekktor.com/wp-content/manual/jarisplayer.swf',
        playerFlashMP3: 'http://www.projekktor.com/wp-content/manual/jarisplayer.swf',    
        plugin_display: {
               logoImage: "yourlogo.png"
        }, controls: true,
        addplugins: ['controlbar']
        }, function(player) {
     
        // add listeners
        player.addListener('seek', seekListener);
     
     
     
        });    
     var v = document.querySelector('video'),
          n = document.querySelector('source').src.replace(/.*\/|\..*$/g,''),
          c = document.querySelector('canvas'),
          save = document.querySelector('#save ul'),
          ctx = c.getContext('2d');
     
      v.addEventListener('loadedmetadata',function(ev){
     
        var ratio = v.videoWidth/v.videoHeight,
            w = 400,
            h = parseInt(w / ratio, 10),
            time = 0,
            img = null,
            li = null;
     
        c.width = w;
        c.height = h + 40;
     
        v.addEventListener('timeupdate',function(ev){
          if(v.paused){
            ctx.fillStyle = 'rgb(0, 0, 0)';
            ctx.fillRect(0, 0, w, h);
            ctx.drawImage(v, 0, 40, w, h);
            ctx.font = '20px Calibri';
            ctx.fillStyle = 'lime';
            ctx.fillText(n, 5, 20);
            time = format(v.currentTime);
            ctx.fillStyle = 'white';
            ctx.fillText(time, 395 - ctx.measureText(time).width, 20);
          }
        },false);
     
        c.addEventListener('click',function(ev){
          li = document.createElement('li');
          img = document.createElement('img');
          li.appendChild(img);
          save.appendChild(li);
          img.src = ctx.canvas.toDataURL('image/png');
        },false);
     
      },false);
     
      function format(time){
        var hours = parseInt((time / 60 / 60) % 60, 10),
            mins = parseInt((time / 60) % 60, 10),
            secs = parseInt(time, 10) % 60,
            hourss = (hours < 10 ? '0' : '') + parseInt(hours, 10) + ':',
            minss = (mins < 10 ? '0' : '') + parseInt(mins, 10) + ':',
            secss  = (secs < 10 ? '0' : '') +(secs % 60),
            timestring = ( hourss !== '00:' ? hourss : '' ) + minss + secss;
        return timestring;
      };
    });
    </script>
    <div id="panel">
        <ul class="info">
     
        <!-- <li>Mouse click <span id="mouseclick" ></span></li> -->
     
        </ul>
     
     
        <div style="clear:both;"></div>
    </div>
     
     
    </body>
    </html>

  7. #7
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    J�ai copi� ton code en local, et dans la console F12 j�ai eu ce message :
    TypeError: document.querySelector(...) is null
    Le num�ro de ligne correspond � cette instruction :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    n = document.querySelector('source').src.replace(/.*\/|\..*$/g,''),
    Quand on utilise l�inspecteur, on s�aper�oit que les �l�ments <source> ont �t� supprim�s, probablement par Projekktor. Conclusion : Projekktor et le script que tu as trouv� ne sont pas compatibles.


    Mon script �choue � peu pr�s pour la m�me raison. Mais d�abord, il faut corriger une erreur que tu as faite � la recopie : c�est document.querySelector('#player_a') avec un #. Ou alors, utilise document.getElementById.

    Les erreurs qui se produisent au sein de seekListener ne sont pas faciles � voir car elles sont intercept�es par Projekktor. J�ai plac� un try/catch autour de mon code pour inscrire les erreurs dans la console, et voici ce j�ai vu :
    Argument 1 of CanvasRenderingContext2D.drawImage could not be converted to any of: HTMLImageElement, HTMLCanvasElement, HTMLVideoElement, ImageBitmap.
    C�est logique quand on sait que Projekktor a modifi� la structure de la page : #player_a n�est plus un �l�ment <video>, c�est une <div>, et le canevas ne sait pas capturer ce type d��l�ment.

    Projekktor cr�e un nouvel �l�ment <video> lorsque l�utilisateur lance la lecture. Il faut trouver ce nouvel �l�ment en faisant document.querySelector('#player_a video'). Il faut �galement adapter mon script pour mettre player.videoWidth � la place de player.width, et idem pour height.

    Une fois ce probl�me r�gl�, une nouvelle erreur appara�t :
    The operation is insecure.
    C�est le probl�me dont j�ai parl� dans mon post pr�c�dent avec les vid�os provenant d�un autre domaine. Le canevas est � teint� � pour emp�cher d��ventuels vols d�informations, et ce � teintage � a pour effet d�emp�cher l�utilisation des m�thodes de conversion telles que toDataURL et toBlob.

    Ce probl�me m�int�resse et je vais essayer de trouver une solution. En attendant, utilise les copies locales des fichiers de m�dias (fournies par Projekktor) pour faire tes tests.

    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    <video class="projekktor" poster="media/intro.png" title="This is Projekktor" width="640" height="385" controls id="player_a">
      <source src="media/intro.mp4" type="video/mp4" />
      <source src="media/intro.webm" type="video/webm" />
      <source src="media/intro.ogv" type="video/ogg" />
    </video>
    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

  8. #8
    Membre averti
    Femme Profil pro
    �tudiant
    Inscrit en
    Avril 2016
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 15
    Par d�faut
    Merci pour votre aide
    J'ai fait tous les changements que vous avez dit mais j'arrive pas � voir le lien vers l'image (Voir l�image captur�e), j'ai conclut que la fonction "Blob" ne s�ex�cute pas! je ne sais pas pour quoi!
    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    <!DOCTYPE HTML>
    <html>
    <head>
        <title>Projekktor - simply mighty video</title>
        <style type="text/css">
        body { background-color: #fdfdfd; padding: 0 20px; color:#000; font: 13px/18px monospace; width: 800px;}
        a { color: #360; }
        h3 { padding-top: 20px; }
        </style>
     
        <!-- Load player theme -->
        <link rel="stylesheet" href="themes/maccaco/projekktor.style.css" type="text/css" media="screen" />
     
        <!-- Load jquery -->
        <script type="text/javascript" src="jquery-1.9.1.min.js"></script>
     
        <!-- load projekktor -->
        <script type="text/javascript" src="projekktor-1.3.09.min.js"></script>
     
    </head>
    <body>
    <div id="video">
    <video class="projekktor" poster="http://www.projekktor.com/wp-content/manual/intro.png" title="This is Projekktor" width="640" height="385" controls id="player_a">
        <source src="media/intro.mp4" type="video/mp4" />
    </video>
    </div>
    <script type="text/javascript">
    /*
    This script is just an example and included to build up the "demo status panel".
    For daily practice installing the player to your site is MUCH simpler and stright forward.
    Please take a look at http://www.projekktor.com/docs/quickinstall
    */
    jQuery(document).ready(function($) {
     
     
        /*********************************************************************
        Some player event listeners to set general status information:
        *********************************************************************/
     
           var seekListener=function(Obj) {    
       $('#mouseclick').html(myPlayer.getPosition());
     
        // 1. Obtenir une référence sur l’élément <video>
    var player = document.querySelector('#player_a video');
     
    // 2. Créer un canevas aux dimensions de la vidéo
    var canvas = document.createElement('canvas');
    canvas.width = player.videowidth;
    canvas.height = player.videoheight;
     
    // 3. Obtenir le contexte de dessin du canevas
    var cx = canvas.getContext('2d');
     
    // 4. Capturer l’image actuelle de la vidéo
    cx.drawImage(player, 0, 0, canvas.width, canvas.height);
     
    // 5. Convertir l’image capturée en fichier, et créer un lien vers ce fichier
     
    canvas.toBlob(function (blob) {
      var a = document.createElement('a');
      a.href = URL.createObjectURL(blob);
      a.target = '_blank';
      a.textContent = 'Voir l’image capturée';
      document.getElementById('mouseclick').appendChild(a);
    });
     
        }
     
     
        /*********************************************************************
          Configure and instantiate the player and
          apply an "onReady" callback function
        *********************************************************************/    
        var myPlayer = projekktor('#player_a', {
        debug: false,
        playerFlashMP4: 'http://www.projekktor.com/wp-content/manual/jarisplayer.swf',
        playerFlashMP3: 'http://www.projekktor.com/wp-content/manual/jarisplayer.swf',    
        plugin_display: {
               logoImage: "yourlogo.png"
        }, controls: true,
        addplugins: ['controlbar']
        }, function(player) {
     
        // add listeners
        player.addListener('seek', seekListener);
     
     
     
        });    
    });
    </script>
    <div id="panel">
        <ul class="info">
     
        <li>Mouse click <span id="mouseclick" ></span></li>
     
        </ul>
     
     
        <div style="clear:both;"></div>
    </div>
     
     
    </body>
    </html>
    voil� le code:

  9. #9
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    canvas.width = player.videoWidth;
    canvas.height = player.videoHeight;
    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

  10. #10
    Membre averti
    Femme Profil pro
    �tudiant
    Inscrit en
    Avril 2016
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 15
    Par d�faut
    M�me si .Je n'arrive toujours pas � voir le lien vers l'image!
    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    <!DOCTYPE HTML>
    <html>
    <head>
        <title>Projekktor - simply mighty video</title>
        <style type="text/css">
        body { background-color: #fdfdfd; padding: 0 20px; color:#000; font: 13px/18px monospace; width: 800px;}
        a { color: #360; }
        h3 { padding-top: 20px; }
        </style>
     
        <!-- Load player theme -->
        <link rel="stylesheet" href="themes/maccaco/projekktor.style.css" type="text/css" media="screen" />
     
        <!-- Load jquery -->
        <script type="text/javascript" src="jquery-1.9.1.min.js"></script>
     
        <!-- load projekktor -->
        <script type="text/javascript" src="projekktor-1.3.09.min.js"></script>
     
    </head>
    <body>
    <div id="video">
    <video class="projekktor" poster="http://www.projekktor.com/wp-content/manual/intro.png" title="This is Projekktor" width="640" height="385" controls id="player_a">
        <source src="media/intro.mp4" type="video/mp4" />
       </video>
    </div>
     
    <script type="text/javascript">
    /*
    This script is just an example and included to build up the "demo status panel".
    For daily practice installing the player to your site is MUCH simpler and stright forward.
    Please take a look at http://www.projekktor.com/docs/quickinstall
    */
    jQuery(document).ready(function($) {
     
     
     
        /*********************************************************************
        Some player event listeners to set general status information:
        *********************************************************************/
     
           var seekListener=function(Obj) {    
       $('#mouseclick').html(myPlayer.getPosition());
       //$('#mouseclick').html(myPlayer.getItem(current))
       //$('#mouseclick').html(myPlayer.getMediaType())
    //alert(myPlayer.getItemMedia())
       //alert(projekktor('video').getPosition())
        //$('#time').text()
        // 1. Obtenir une référence sur l’élément <video>
    var player = document.querySelector('#player_a video');
     
    // 2. Créer un canevas aux dimensions de la vidéo
    var canvas = document.createElement('canvas');
    canvas.width = player.videoWidth;
    canvas.height = player.videoHeight;
     
    // 3. Obtenir le contexte de dessin du canevas
    var cx = canvas.getContext('2d');
     
    // 4. Capturer l’image actuelle de la vidéo
    cx.drawImage(player, 0, 0, canvas.width, canvas.height);
     
    // 5. Convertir l’image capturée en fichier, et créer un lien vers ce fichier
     
    canvas.toBlob(function (blob) {
      var a = document.createElement('a');
      a.href = URL.createObjectURL(blob);
      a.target = '_blank';
      a.textContent = 'Voir l’image capturée';
      document.getElementById('mouseclick').appendChild(a);
    });
     
        }
     
     
        /*********************************************************************
          Configure and instantiate the player and
          apply an "onReady" callback function
        *********************************************************************/    
        var myPlayer = projekktor('#player_a', {
        debug: false,
        playerFlashMP4: 'http://www.projekktor.com/wp-content/manual/jarisplayer.swf',
        playerFlashMP3: 'http://www.projekktor.com/wp-content/manual/jarisplayer.swf',    
        plugin_display: {
               logoImage: "yourlogo.png"
        }, controls: true,
        addplugins: ['controlbar']
        }, function(player) {
     
        // add listeners
        player.addListener('seek', seekListener);
     
     
     
        });    
     
    });
    </script>
    <div id="panel">
        <ul class="info">
     
        <li>Mouse click <span id="mouseclick" ></span></li>
     
        </ul>
     
     
        <div style="clear:both;"></div>
    </div>
     
     
    </body>
    </html>

  11. #11
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    Chez moi ton code marche, copi�-coll� tel quel. Avec le protocole file: ou avec un serveur local.

    Ajoute un <meta charset="utf-8"> pour �viter les probl�mes d�encodage.

    Tu testes sous quel(s) navigateur(s) ? Note : IE ne g�re pas les blobs de la m�me fa�on. La m�thode s�appelle msToBlob et elle est synchrone, c�est-�-dire qu�elle renvoie directement un r�sultat au lieu de prendre en param�tre une fonction de rappel.
    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
        var blobCallback = function (blob) {
          try {
            $(document.createElement('a'))
              .attr({
                href: URL.createObjectURL(blob),
                target: '_blank'
              })
              .text('Voir l’image capturée')
              .appendTo('#mouseclick');
          } catch (e) {
            console.error('Erreur dans blobCallback', e);
          }
        };
     
        var seekListener = function (Obj) {
          console.log(Obj);
          try {
            $('#mouseclick').html(myPlayer.getPosition());
            var player = document.querySelector('#player_a video');
     
            var canvas = document.createElement('canvas');
            canvas.width = player.videoWidth;
            canvas.height = player.videoHeight;
     
            canvas.getContext('2d')
              .drawImage(player, 0, 0, canvas.width, canvas.height);
     
            // https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob#Browser_compatibility
            if ('toBlob' in canvas) { // Chrome, Firefox
              canvas.toBlob(blobCallback);
            } else if ('msToBlob' in canvas) { // IE
              blobCallback(canvas.msToBlob());
            }
          } catch (e) {
            console.error('Erreur dans seekListener', e);
          }
        };
    Opera et Safari ne g�rent pas la conversion en blob. Il faudra sans doute envisager d�utiliser toDataURL.
    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

  12. #12
    Membre averti
    Femme Profil pro
    �tudiant
    Inscrit en
    Avril 2016
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 15
    Par d�faut
    J'utilise Google Chrome, mon serveur local est IIS (je travaille avec ASP.NET Mvc C#),m�me si j'ai fais les modifications j'obtiens toujours �a:
    Nom : Capture.PNG
Affichages : 1775
Taille : 116,7 Ko

  13. #13
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    Je ne sais pas o� tu bloques, mais je vais te donner mon code. Moi je bloque sur des probl�mes cross-origin avec Projekktor, du coup je l�ai d�sactiv� provisoirement pour voir si j�arrive � faire marcher CORS de base. Et a priori j�y arrive sous Firefox et Chrome, mais pas sous IE11 � mais pour IE, apparemment c�est normal et on peut trouver une solution de contournement, voir http://stackoverflow.com/a/19734516.

    J�ai d�plac� le code JS dans un fichier externe.
    Code html : 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
    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <title>Projekktor, canvas, CORS</title>
      <style type="text/css">
      body { background-color: #fdfdfd;
             padding: 0 20px;
             color:#000;
             font: 13px/18px monospace;
             width: 800px;
           }
      a { color: #360; }
      h3 { padding-top: 20px; }
      </style>
     
      <!-- Load player theme -->
      <link rel="stylesheet" type="text/css" media="screen"
            href="themes/maccaco/projekktor.style.css">
     
      <!-- Load jquery -->
      <script type="text/javascript" src="jquery-1.9.1.min.js"></script>
     
      <!-- load projekktor -->
      <script type="text/javascript" src="projekktor-1.3.09.min.js"></script>
    </head>
    <body>
     
    <video id="player_a" class="projekktor" poster="media/intro.png"
           width="640" height="385" controls crossorigin="anonymous">
      <!-- cors-test est un alias de localhost
        Le répertoire media/ doit contenir un .htaccess pour que les vidéos
        soient envoyées avec un en-tête Access-Control-Allow-Origin
      -->
      <source src="http://cors-test/kaoutartahir/media/intro.mp4" type="video/mp4">
      <source src="http://cors-test/kaoutartahir/media/intro.webm" type="video/webm">
      <source src="http://cors-test/kaoutartahir/media/intro.ogv" type="video/ogg">
    </video>
     
    <script type="text/javascript" src="init.js"></script>
     
    <div id="panel">
        <ul class="info">
          <li>Mouse click <span id="mouseclick"></span></li>
        </ul>
        <div style="clear:both;"></div>
    </div>
     
    </body>
    </html>
    Note l�attribut crossorigin="anonymous" que j�ai rajout� � la balise <video>, il est n�cessaire pour activer le m�canisme CORS qui nous donne le droit d�appeler toDataURL.

    Voici le fichier .htaccess qui ajoute les en-t�tes CORS aux fichiers vid�os. J�ai fait mes tests avec Wampserver 3, je ne connais pas du tout IIS donc je ne peux pas t�aider, mais tu devrais trouver de la doc sur ce sujet facilement. Concr�tement, tu dois faire en sorte que les fichiers mp4, webm et ogv soient envoy�s avec l�en-t�te Access-Control-Allow-Origin: *
    Code htaccess : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    # https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image
    <IfModule mod_setenvif.c>
      <IfModule mod_headers.c>
        <FilesMatch "\.(mp4|webm|ogv)$">
          SetEnvIf Origin ":" IS_CORS
          Header set Access-Control-Allow-Origin "*" env=IS_CORS
        </FilesMatch>
      </IfModule>
    </IfModule>

    Dans le script, j�ai retir� des instructions superflues qui servaient essentiellement � illustrer le fonctionnement de Projekktor.
    Code JS : 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
    'use strict';
     
    jQuery(document).ready(function($) {
     
      var canvas = document.createElement('canvas');
     
      var captureFrame = function captureFrame(video) {
        canvas.width = video.videoWidth;
        canvas.height = video.videoHeight;
     
        canvas.getContext('2d').drawImage(video, 0, 0);
     
        $(document.createElement('a'))
          .attr({
            href: canvas.toDataURL(),
            target: '_blank'
          })
          .text('Voir l’image capturée')
          .appendTo('#mouseclick');
      };
     
      var seekListener = function (state) {
        if (state !== 'SEEKED') return;
     
        try {
          $('#mouseclick').html(myPlayer.getPosition() + ' ');
          captureFrame(document.querySelector('#player_a video'));
        } catch (e) {
          console.error('Erreur dans seekListener', e);
        }
      };
     
      var startListener = function startListener(player) {
        player.getMediaContainer().find('video')
          .attr('crossOrigin', 'anonymous');
      };
     
      // désactive Projekktor provisoirement
      /*
      var myPlayer = projekktor('#player_a', {
        controls: true,
        addplugins: ['controlbar']
      }, function (player) {
        player.addListener('start', startListener);
        player.addListener('seek', seekListener);
      });
      */
     
      // onclick provisoire à la place de Projekktor
      $('#player_a').click(function () {
        captureFrame(this);
      });
     
    });

    Dans l��tat, j�arrive � faire marcher les captures partout (si on met de c�t� le cas IE) sans Projekktor ; le probl�me avec Projekktor, c�est qu�il remplace la balise <video> et que, d�une certaine mani�re, �a fait � sauter � le m�canisme CORS, et je n�ai plus le droit de r�cup�rer l�image. Je continue � chercher une solution � ce probl�me.
    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

  14. #14
    Membre averti
    Femme Profil pro
    �tudiant
    Inscrit en
    Avril 2016
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 15
    Par d�faut
    A ce niveau l�, je suis vraiment perdue

  15. #15
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    Ne te laisse pas d�courager J�ai test� mon code avant de le poster, je t�assure qu�il marche avec Wamp. Tout ce que tu as � faire, c�est de trouver comment envoyer les bons en-t�tes HTTP avec IIS.
    J�ai trouv� �a, c�est pas subtil, mais pour des tests en local �a fera l�affaire : http://enable-cors.org/server_iis7.html
    Code xml : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
     <system.webServer>
       <httpProtocol>
         <customHeaders>
           <add name="Access-Control-Allow-Origin" value="*" />
         </customHeaders>
       </httpProtocol>
     </system.webServer>
    </configuration>
    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

  16. #16
    Membre averti
    Femme Profil pro
    �tudiant
    Inscrit en
    Avril 2016
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 15
    Par d�faut
    Merci d'�tre toujours � l'�coute
    Mais encore sans r�sultat!

  17. #17
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    Tu pourrais peut-�tre donner des d�tails ? Ce que tu as essay�, ce qui a march�, ce qui n�a pas march�, les messages d�erreur�
    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

  18. #18
    Membre averti
    Femme Profil pro
    �tudiant
    Inscrit en
    Avril 2016
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 15
    Par d�faut
    Ree, je suis vraiment vraiment d�sol�e pour ce retard
    Et la bonne nouvelle c que le probl�me est r�solu, c��tait un probl�me de navigateur Chrome mais avec FireFox version 22 ca marche � merveille.
    Merci infiniment pour ton aide qui �tait vraiment utile et pertinente

  19. #19
    Membre averti
    Femme Profil pro
    �tudiant
    Inscrit en
    Avril 2016
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 15
    Par d�faut
    Bonjour,
    J'ai un autre souci, je veux stocker l'image capturer dans un dossier de mon projet, j'ai cherch� comment mais en vain, je ne sais pas comment la rendre un vrai image avec un nom et extension...

  20. #20
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    Les navigateurs ne te permettront pas d�enregistrer automatiquement un fichier sur le disque dur. En revanche, tu peux ajouter un attribut download="fichier.png" au <a> pour faire en sorte qu�au clic sur le lien, une fen�tre apparaiise pour proposer � l�utilisateur d�enregistrer la capture avec le nom "fichier.png" pr�-rempli.
    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Chargement d'une image � partir d'une vid�o
    Par DAUDET78 dans le forum VB 6 et ant�rieur
    R�ponses: 14
    Dernier message: 20/04/2012, 19h41
  2. Saisir une image � partir d'une photo ou d'une vid�o
    Par lohengrin56 dans le forum Flash/Flex
    R�ponses: 0
    Dernier message: 07/07/2009, 16h17
  3. R�ponses: 7
    Dernier message: 07/07/2008, 11h18

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