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

Flash Pascal Discussion :

Insertion d'une vidéo


Sujet :

Flash Pascal

  1. #1
    Membre expérimenté
    Insertion d'une vidéo
    Comment insérer une video en Flashpascal ?

    Je peux le faire avec html5 avec la balise <video> mais suivant le navigateur, je ne suis pas portable...

    exemple une video.ogv est tout à fait lisible avec firefox mais ne l'est pas avec ie...Il faudrait le format H .264 etc...

    Joindre plusieurs videos identiques en différents formats est fastidieux...
    En plus, ce sont des .avi que je convertis...

    Je me disais qu'en Flash, je deviendrais portable avec tous les navigateurs.
    D'où ma question ...

  2. #2
    Expert éminent sénior
    à priori il te faut des vidéos au format FLV

    voici un code AS2 pas très difficile à traduire

    Code c :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
     
    var url = "http://ENTER YOUR URL HERE";
    var nc: NetConnection = new NetConnection();
    nc.connect(url);
    var ns: NetStream = new NetStream(nc);
    ns.setBufferTime(5);
     
    ns.onStatus = function(info){
        if(info.code == "NetStream.Buffer.Full"){
        }
        if(info.code == "NetStream.Buffer.Empty"){
        }
        if(info.code == "NetStream.Play.Stop"){
            ns.seek(0);
            ns.play(url);
        }
    }
     
    //video location
    myVideo.attachVideo(ns);
    ns.play(url);
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre expérimenté
    Merci, je vais essayer d'adapter le code

  4. #4
    Membre expérimenté
    Je viens de tenter d'adapter le code sans comprendre grand chose...

    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
     
    program PVideo;
     
    {$FRAME_WIDTH 550}
    {$FRAME_HEIGHT 400}
    {$FRAME_RATE 12}
    {$BACKGROUND $FFFFFF}
     
    uses
      Flash8;
     
    type
     Netconnection= external class(NetConnection)
      class procedure connect(url:String);
     end;
     
     NetStream = external class(NetStream)
      class procedure setBufferTime(tempo:number);
      class procedure Play(url:String);
      class procedure Seek(nb:Number);
      property onStatus: procedure of object;
     end;
     
     
    var
      nc: NetConnection;
      ns:NetStream;
      myvideo:Video;
      url:String;
    begin
      url := 'mavideo.flv';
      nc.connect(url);
      ns.setBufferTime(5);
      myVideo.attachVideo(ns);
      ns.play(url);
    end.


    A priori, c'est un http// qui est demandé et moi, j'ai mis mon fichier flv.
    ça compile mais rien ne se passse...

  5. #5
    Membre expérimenté
    Je viens de me rendre compte qu'il faudrait peut-être introduire des constructeurs pour Netconnection et NetStream...je regarde ça.

  6. #6
    Membre expérimenté
    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
     
    program PVideo;
     
    {$FRAME_WIDTH 550}
    {$FRAME_HEIGHT 400}
    {$FRAME_RATE 12}
    {$BACKGROUND $FFFFFF}
     
    uses
      Flash8;
     
    type
     Netconnection= external class(NetConnection)
      class procedure	connect(targetURI:String);
      constructor Create();
     end;
     
     NetStream = external class(NetStream)
      class procedure setBufferTime(tempo:number);
      class procedure Play(url:String);
      class procedure Seek(nb:Number);
      property onStatus: procedure of object;
      constructor Create(connection:NetConnection) ;
     end;
     
     
    var
      nc: NetConnection;
      ns:NetStream;
      myvideo:Video;
      url:String;
     
     
    begin
      url := 'video.flv';
      nc:=NetConnection.create();
      ns:=NetStream.create(nc);
      myvideo:=Video.Create();
      nc.connect(url);
      ns.setBufferTime(5);
      myVideo.attachVideo(ns);
      ns.play(url);
    end.


    ça ne marche toujours pas...

  7. #7
    Membre expérimenté
    déjà connect est une fonction de type Boolean.

    A modifier :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    class Function connect(targetURI:String):Boolean;

  8. #8
    Membre expérimenté
    A priori, ça, ça devrait marcher...:
    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
     
    program PVideo;
     
    {$FRAME_WIDTH 550}
    {$FRAME_HEIGHT 400}
    {$FRAME_RATE 12}
    {$BACKGROUND $FFFFFF}
     
    uses
      Flash8;
     
    type
     Netconnection= external class(NetConnection)
      Function	connect(targetURI:String):Boolean;
      constructor Create();
     end;
     
     NetStream = external class(NetStream)
       procedure setBufferTime(tempo:number);
       procedure Play(url:String);
       procedure Seek(nb:Number);
       property onStatus: procedure of object;
      constructor Create(connection:NetConnection) ;
     end;
     
     
    var
      nc: NetConnection;
      ns:NetStream;
      myvideo:Video;
     
     
    begin
      nc:=NetConnection.create();
      nc.connect('Video.flv');
      ns:=NetStream.create(nc);
      ns.setBufferTime(3);
      myvideo:=Video.Create();
      myVideo.attachVideo(ns);
      ns.play('video.flv');
    end.


    je n'ai toujours rien...

  9. #9
    Membre expérimenté
    il faudrait aussi ajouter :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    video._parent:=_Root;
    ...je cherche...

  10. #10
    Membre expérimenté
    la procedure play n'est pas satisfaisant, apparemment il faut ajouter des paramètres.

    je ne les comprends pas vraiment

    j'ai tenté ça :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    	procedure play(name:string; start:Number=1;len:Number=0; reset:TObject=nil);


    en fait après consultation de la doc adobe :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
     procedure play(name:string; start:Number=-2;len:Number=-1);


    name normalement, c'est de type object ?

  11. #11
    Expert éminent sénior
    Hello,

    bon en fait je crois qu'on a le même problème avec Video qu'avec Button...il ne semble pas être possible d'instancier un objet Video par programmation.

    il va falloir attendre que FlashPascal permette de dessiner une interface visuel et de placer des objets à la souris

    désolé
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  12. #12
    Membre expérimenté
    Hello,
    en effet...(merci pour ton lien).

    Pas grave, avec HTML5, je peux me débrouiller...

  13. #13
    Expert éminent sénior
    alors j'ai une solution dans la nouvelle version que je viens de mettre en ligne
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  14. #14
    Membre expérimenté
    Et là, c'est nickel...plus besoin de s'embêter avec 36 formats pour être portable avec l'ensemble des navigateurs....

    encore bravo !

    ps: je fais un break un petit moment avec les vacances. à bientôt.