Lecteur audio avec javafx

Soyez le premier à donner votre avis sur cette source.

Vue 10 748 fois - Téléchargée 1 927 fois

Description

C'est la version mise a jour, jetez un coup d'oeuil... Le code de cette sources est en javafx.
Le designe est fait avec Photoshop CS4, en suite j'ai fais une exportation au format "FXZ" pour manipuler chaque calque d'une maniere independante et j'ai fais le code avec NetBeans 6.7.1.
Merci deja pour vos commentaires et suggestions.

Source / Exemple :


/*

  • Main.fx
*
  • Created on Nov 10, 2009, 12:48:32 PM
  • /
package escobarplayer11; import javafx.scene.control.Slider; import javafx.scene.Scene; import javafx.scene.effect.SepiaTone; import javafx.scene.input.MouseEvent; import javafx.scene.media.Media; import javafx.stage.Stage; import javax.swing.JFileChooser; import javax.swing.filechooser.FileFilter; import javafx.scene.control.ProgressBar; import javafx.scene.paint.Color; import javafx.scene.text.Font; import javafx.scene.text.FontWeight; import javafx.scene.text.Text; import javafx.scene.text.TextOrigin; import javafx.scene.control.ProgressIndicator; /**
  • @author EscobarFx
  • /
//le silder pour augmenter le volume var slider = Slider{ max:100 min:0 translateX:3 translateY:105 value:80 width:120 }; //le progesse bar au milieu de la fenetre var progessB = ProgressBar{ progress:-1 translateX: 7 translateY: 72 width: 470 }; //le texte pour le volume var txt = Text { content: "Volume" textOrigin: TextOrigin.TOP font: Font.font("Arial", FontWeight.BOLD, 14) fill: Color.WHITE translateX:3 translateY:90 } // L'indicateur du niveau de volume var progressInd = ProgressIndicator{ progress:bind slider.value/slider.max translateX:135 translateY:105 } //La boite de dialogue pour choisir l'audio var sourceMedia:String = ""; def extensions = [".mp3"]; def chooser = new JFileChooser(); chooser.addChoosableFileFilter( FileFilter { override function getDescription() { "Audio {extensions.toString()}" } override function accept(file) { if (file.isDirectory()) return true; def name = file.getName().toLowerCase(); for (extension in extensions) if (name.endsWith(extension)) return true; return false } } ); chooser.setAcceptAllFileFilterUsed(false); //le lecteur var player = javafx.scene.media.MediaPlayer { repeatCount: javafx.scene.media.MediaPlayer.REPEAT_FOREVER media: bind Media { source: sourceMedia }; volume:bind slider.value+0.0 }; class MyMediaPlayerUI extends escoplayer_1_1UI { override protected function contentLoaded() { super.contentLoaded(); var s = player.media.source; var i = s.lastIndexOf ("/"); if (i >= 0) { s = s.substring (i + 1); } // fileName.content = s; } } //les differents calques var stage : Stage; var ui = MyMediaPlayerUI {}; var img1 = ui.bparcour; var img2 = ui.bplay; var img3 = ui.bpause; var img4 = ui.bstop; var img5 = ui.background; img5.blocksMouse = true; //bouton parcourir img1.onMousePressed= function (event) { if (JFileChooser.APPROVE_OPTION == chooser.showOpenDialog(null)) { sourceMedia = chooser.getSelectedFile().toURI().toString(); println("---- sourceMedia = {sourceMedia}"); } } img1.onMouseEntered = function (e: MouseEvent){ img1.effect = SepiaTone { level: 0.5 } } img1.onMouseExited = function (e: MouseEvent){ img1.effect = SepiaTone { level: 0.0 } } // Bouton play img2.onMouseClicked = function (e: MouseEvent){ sourceMedia = chooser.getSelectedFile().toURI().toString(); // txt.text = sourceMedia; player.play(); } img2.onMouseEntered = function (e: MouseEvent){ img2.effect = SepiaTone { level: 0.5 } } img2.onMouseExited = function (e: MouseEvent){ img2.effect = SepiaTone { level: 0.0 } } //bouton pause img3.onMouseClicked = function (e: MouseEvent){ player.pause(); } img3.onMouseEntered = function (e: MouseEvent){ img3.effect = SepiaTone { level: 0.5 } } img3.onMouseExited = function (e: MouseEvent){ img3.effect = SepiaTone { level: 0.0 } } //boutton pause img4.onMouseClicked = function (e: MouseEvent){ player.stop(); } img4.onMouseEntered = function (e: MouseEvent){ img4.effect = SepiaTone { level: 0.5 } } img4.onMouseExited = function (e: MouseEvent){ img4.effect = SepiaTone { level: 0.0 } } img5.onMouseEntered = function (e: MouseEvent){ img5.effect = SepiaTone { level: 0.5 } } img5.onMouseExited = function (e: MouseEvent){ img5.effect = SepiaTone { level: 0.0 } } stage = Stage { title: "Escobar player 1.1" //visible: true resizable: false onClose: function() { java.lang.System.exit (0); } scene: Scene { content: [ui,slider,txt,progessB,progressInd] } } /***********************************************************************/ /*
  • Generated by JavaFX Production Suite NetBeans plugin.
  • escoplayer_1_1UI.fx
*
  • Created on Tue Nov 10 20:01:01 PST 2009
  • /
package escobarplayer11; import java.lang.*; import javafx.scene.Node; import javafx.fxd.FXDNode; public class escoplayer_1_1UI extends FXDNode { override public var url = "{__DIR__}escoplayer 1.1.fxz"; public-read protected var background: Node; public-read protected var bparcour: Node; public-read protected var bpause: Node; public-read protected var bplay: Node; public-read protected var bstop: Node; override protected function contentLoaded() : Void { background=getNode("background"); bparcour=getNode("bparcour"); bpause=getNode("bpause"); bplay=getNode("bplay"); bstop=getNode("bstop"); } /**
  • Check if some element with given id exists and write
  • a warning if the element could not be found.
  • The whole method can be removed if such warning is not required.
  • /
protected override function getObject( id:String) : Object { var obj = super.getObject(id); if ( obj == null) { System.err.println("WARNING: Element with id {id} not found in {url}"); } return obj; } }

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
4
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
2 avril 2012

bon travail l'ami et bon courage pour la suite.
Messages postés
7
Date d'inscription
dimanche 14 mars 2010
Statut
Membre
Dernière intervention
17 décembre 2011

bjr , j'ai une probléme c'est que le vidéo que je le choisi toujours s'arrêt sur l'instant 1 (la premier image qui s'apparaitre dans le vidéo ) :(
NB:j'ai installer JMF
Messages postés
8
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
13 avril 2010

slt mon ami c très bien de faire un lecteur comme un mini projet mais je essayer de le compiler , oui , l'interface déjà trouve mais il ne fonctionne pas
Messages postés
16
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
10 décembre 2009

yassourty ,dis toi seulement qu'il ya possibilité que tu fasse java, tu le fera.... je t'encourage encore.
Messages postés
16
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
10 décembre 2009

merci bien pour ton commentaire, je t'encourage de faire java et de faire aussi javafx si le temps te le permet ...
Afficher les 10 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (puccino1er)