diff options
author | Marko Živković <[email protected]> | 2014-06-11 10:10:33 +0000 |
---|---|---|
committer | Marko Živković <[email protected]> | 2014-06-11 10:10:33 +0000 |
commit | 1107aa0763e3d7554408c401d2a1dbed11a94c51 (patch) | |
tree | 7074264bc7b63f2ee5ee14a39458380fcce1904b /logo/src/xlogo/kernel/MP3Player.java |
Add initial directories and files
git-svn-id: https://svn.code.sf.net/p/xlogo4schools/svn/trunk@1 3b0d7934-f7ef-4143-9606-b51f2e2281fd
Diffstat (limited to 'logo/src/xlogo/kernel/MP3Player.java')
-rw-r--r-- | logo/src/xlogo/kernel/MP3Player.java | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/logo/src/xlogo/kernel/MP3Player.java b/logo/src/xlogo/kernel/MP3Player.java new file mode 100644 index 0000000..e996bd2 --- /dev/null +++ b/logo/src/xlogo/kernel/MP3Player.java @@ -0,0 +1,86 @@ +/* XLogo4Schools - A Logo Interpreter specialized for use in schools, based on XLogo by Lo�c Le Coq + * Copyright (C) 2013 Marko Zivkovic + * + * Contact Information: marko88zivkovic at gmail dot com + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation; either version 2 of the License, or (at your option) + * any later version. This program is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General + * Public License for more details. You should have received a copy of the + * GNU General Public License along with this program; if not, write to the Free + * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + * + * + * This Java source code belongs to XLogo4Schools, written by Marko Zivkovic + * during his Bachelor thesis at the computer science department of ETH Z�rich, + * in the year 2013 and/or during future work. + * + * It is a reengineered version of XLogo written by Lo�c Le Coq, published + * under the GPL License at http://xlogo.tuxfamily.org/ + * + * Contents of this file were initially written by Lo�c Le Coq, + * modifications, extensions, refactorings might have been applied by Marko Zivkovic + */ + +package xlogo.kernel; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.net.URL; + +import xlogo.Application; +import xlogo.Logo; +import xlogo.storage.WSManager; +import xlogo.utils.Utils; +import javazoom.jl.decoder.JavaLayerException; +import javazoom.jl.player.advanced.AdvancedPlayer; +public class MP3Player extends Thread{ + + private AdvancedPlayer player; + + MP3Player(Application app,String path) throws LogoError{ + try { + // Build absolutePath + String absolutePath= Utils.SortieTexte(WSManager.getUserConfig().getDefaultFolder()) + + File.separator + Utils.SortieTexte(path); + player=new AdvancedPlayer(new FileInputStream(absolutePath)); + } + catch(FileNotFoundException e){ + // tentative fichier réseau + try{ + URL url =new java.net.URL(path); + java.io.InputStream fr = url.openStream(); + player=new AdvancedPlayer(fr); + } + catch( java.net.MalformedURLException e1){ + + throw new LogoError(Logo.messages.getString("error.iolecture")); + + + } + catch(IOException e2){} + catch(JavaLayerException e3){} + } + catch(JavaLayerException e4){} + + } + public void run(){ + try{ + player.play(); + } + catch(JavaLayerException e){} + } + /** + * @return + * @uml.property name="player" + */ + protected AdvancedPlayer getPlayer(){ + return player; + } + +} |