のソースコードの修正です。
以下修正内容
・変数名が気持ち悪い
・BufferedInputStreamをつかいシークを実装しようと思えばできるようにした。
問題点&いつか直す
・メソッドがきもい
・音量の調節ができない
・メモ帳でいじったからもしかしたらバグがあるかも・・・
・修正とかいっときながら雑
・変数の使い捨て前提
import java.io.BufferedInputStream; import java.io.FileInputStream; import java.net.URL; import javazoom.jl.player.Player; import frame.compornent.PlayerCompornent; public class MP3Player extends Thread { // variable private Player player; private BufferedInputStream stream; private boolean run; private long filesize; public MP3Player() { } public void setFile(String file) { try { stream = new BufferedInputStream((new FileInputStream(file))); player = new Player(stream); } catch (Exception e) { } } public void setFile(URL url) { try { filesize = url.openConnection().getContentLength();//ファイルサイズ取得 stream = new BufferedInputStream((url.openStream())); player = new Player(stream); } catch (Exception e) { } } public void start() { run = true; super.start(); } public void stopMusic() { try { if (player != null) { player.close(); } if (stream != null) { stream.close(); } } catch (Exception e) { System.out.println("IOException"); } finally { setStopper(); } } public void setStopper() { player = null; stream = null; run = false; } public void run() { if (stream == null || player == null || !run) { stopMusic(); } else { try { player.play(); } catch (Exception e) { System.out.println("JavaLayerException"); } finally { stopMusic(); } } } public boolean isRun() { return run; } public BufferedInputStream getStream() { return stream; } public long getFilesize() { return filesize; } } }a
0 件のコメント:
コメントを投稿