Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    119

    [JAVA] Applet per video lato client

    Ciao,

    avrei bisogno di realizzare un applet da inserire in una mia pagina web che mi permetta di visualizzare file video presenti sul computer client.
    A parte le solite funzioni play-pause mi servirebbe poter visualizzare il tempo di esecuzione ("hh:mm:ss,ccc")

    Inanzitutto, è possibile ? Utilizzando le JMF?

    Mi servirebbe qualche dritta, ogni consiglio è ben accetto (a meno che non sia tipo "lascia perdere.." )

    Grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    119
    ... qualche esempio da cui prendere spunto?

  3. #3
    Prima di tutto, le applet sono tutte lato client, dato che vengono scaricate dal server ed eseguire dal client
    Quindi in pratica, una persona che esegue la tua applet, può vedere solo i video presenti sul proprio computer.

    Per quanto riguarda la riproduzione di video, ti posto un piccolo esempio preso da un mio libro utilizzando le JMF:

    MediaTest
    codice:
    // A simple media player
    import java.io.File;
    import java.net.MalformedURLException;
    import java.net.URL;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    
    public class MediaTest
    {
       // launch the application
       public static void main( String args[] )
       {
          // create a file chooser
          JFileChooser fileChooser = new JFileChooser();
          
          // show open file dialog
          int result = fileChooser.showOpenDialog( null );
    
          if ( result == JFileChooser.APPROVE_OPTION ) // user chose a file
          {
             URL mediaURL = null;
             
             try
             {
                // get the file as URL
                mediaURL = fileChooser.getSelectedFile().toURL();
             } // end try
             catch ( MalformedURLException malformedURLException )
             {
                System.err.println( "Could not create URL for the file" );
             } // end catch
    
             if ( mediaURL != null ) // only display if there is a valid URL
             {
                JFrame mediaTest = new JFrame( "Media Tester" );
                mediaTest.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
                
                MediaPanel mediaPanel = new MediaPanel( mediaURL );
                mediaTest.add( mediaPanel );
                
                mediaTest.setSize( 300, 300 );
                mediaTest.setVisible( true );
             } // end inner if
          } // end outer if
       } // end main
    } // end class MediaTest
    MediaPanel:
    codice:
    // A JPanel the plays media from a URL
    import java.awt.BorderLayout;
    import java.awt.Component;
    import java.io.IOException;
    import java.net.URL;
    import javax.media.CannotRealizeException;
    import javax.media.Manager;
    import javax.media.NoPlayerException;
    import javax.media.Player;
    import javax.swing.JPanel;
    
    public class MediaPanel extends JPanel
    {
       public MediaPanel( URL mediaURL )
       {
          setLayout( new BorderLayout() ); // use a BorderLayout
          
          // Use lightweight components for Swing compatibility
          Manager.setHint( Manager.LIGHTWEIGHT_RENDERER, true );
          
          try
          {
             // create a player to play the media specified in the URL
             Player mediaPlayer = Manager.createRealizedPlayer( mediaURL );
             
             // get the components for the video and the playback controls
             Component video = mediaPlayer.getVisualComponent();
             Component controls = mediaPlayer.getControlPanelComponent();
             
             if ( video != null ) 
                add( video, BorderLayout.CENTER ); // add video component
    
             if ( controls != null ) 
                add( controls, BorderLayout.SOUTH ); // add controls
             
             mediaPlayer.start(); // start playing the media clip
          } // end try
          catch ( NoPlayerException noPlayerException )
          {
             System.err.println( "No media player found" );
          } // end catch
          catch ( CannotRealizeException cannotRealizeException )
          {
             System.err.println( "Could not realize media player" );
          } // end catch
          catch ( IOException iOException )
          {
             System.err.println( "Error reading from the source" );
          } // end catch
       } // end MediaPanel constructor
    } // end class MediaPanel

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    119
    ok, sì so che tutte le applet sono lato client, io mi riferivo ai video.

    Grazie mille per la risposta.

    Effettivamente il titolo può essere frainteso e non ci avevo fatto attenzione.
    Cerco di spiegarmi meglio.
    Mi servirebbe che l' Applet esegua video che sono sul client non sul server, non come youtube per intenderci.

    Spero di aver chiarito.

  5. #5
    Originariamente inviato da Dexter1983
    ok, sì so che tutte le applet sono lato client, io mi riferivo ai video.

    Grazie mille per la risposta.

    Effettivamente il titolo può essere frainteso e non ci avevo fatto attenzione.
    Cerco di spiegarmi meglio.
    Mi servirebbe che l' Applet esegua video che sono sul client non sul server, non come youtube per intenderci.

    Spero di aver chiarito.
    Puoi tranquillamente utilizzare il mio esempio per la tua applet

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    119
    Ah ok, grazie mille!

  7. #7
    Dimenticavo, ovviamente devi scaricare le librerie JMF ed installarle

  8. #8
    Ciao Dreamer89, per curiosità stavo testando la tua applicazione, e la trovo molto interessante.
    Ho provato a dargli in pasto un video mpg, e non mi va in play, ho provato un video mp4 e in console mi stampa "No media player found". Dove sbaglio?

    Volevo sapere inoltre se fosse possibile anche mandare in play, video direttamente da youtube, dandogli in pasto l'url del video!

    Ciao!

  9. #9
    Originariamente inviato da fbcyborg
    Ciao Dreamer89, per curiosità stavo testando la tua applicazione, e la trovo molto interessante.
    Ho provato a dargli in pasto un video mpg, e non mi va in play, ho provato un video mp4 e in console mi stampa "No media player found". Dove sbaglio?

    Volevo sapere inoltre se fosse possibile anche mandare in play, video direttamente da youtube, dandogli in pasto l'url del video!

    Ciao!
    Sinceramente non saprei risponderti o_O Anche perchè l'ho usata anni fa e non ricordo ora...

  10. #10
    Eh, ma infatti ho visto che il post era molto vecchio anche se tentare non nuoce
    Comunque mi sembra di capire che c'è modo di passare un vero e proprio URL alla classe che hai fatto, per mandarlo in play... proverò!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.