fc2ブログ

【Java】MP3を再生

正直、デバイスドライバ作ってJavaに関連させればいいんだがね
パッケージされてたものがあったからそれを使おう。
DDKとかツールもってないからなぁ~、そもそも金がかかる・・あれ?無料だっけ?

今の時代だとAndroidでやったほうがお得や・・
iPhoneは言語がちゃうから別な
その話はおいておいてと

通常、オラクルの汎化メディアパッケージのJMFとかつかうんだがMIDIやAU、WAV,WMA形式しか対応してなくてね・・
こまったもんだよ

まず以下のZIPをダウンロードしる!
basicplayer3.0.zip
commons-logging-1.1.3-bin.zip

終わったら、解答して
フォルダ内すべての*.jarファイルを外部Jarとして追加してください

全部追加しないと、後にダブルクリックして起動できるようにしたときに
動かないからなぁ~

内容にMain関数使用しているパッケージもあるみたいなので
マニフェストファイルとかで実行させたいインスタンスのクラス名は指定しておきなさい

ちなみに今回は必要なDLLファイルはいらんな

class MP3Player {

private BasicPlayer bp;
private BasicController bc;

・・・

bp=new BasicPlayer();
bp.addBasicPlayerListener(new BasicPalyerListener(){

public void opened(Object arg0, Map arg1) {} //オープン時呼び出し
public void progress(int arg0, long arg1, byte[] arg2, Map arg3) {} //再生時の処理
public void setController(BasicController arg0) {} //パンや音量調節時
public void stateUpdated(BasicPlayerEvent arg0) {} //一時停止とか再生とかそのタイミング

});

音楽再生時にプログレスバーを動かしたいとか
タイムをカウントするとかならprogress

ループ再生とか使いたいなら
stateUpdatedメソッドで
arg0.getCode()==BasicPlayerEvent.EOMをif文にいれて
音楽を止めたあと、再生しなおせばいいのだ



try{
bc.open(file); //ファイルオープン
bc.play(); //再生
bc.setGain(volume); //音量設定
bc.setPan(0.0); //パン、ステレオかな
}catch (BasicPlayerException e){
e.printStackTrace();
}

再生のあとに音量やパンを設定しないとなぜか有効にならない・・・


try {
bc.stop();
} catch (BasicPlayerException e) {
e.printStackTrace();
}

以上で音楽ストップできる。
ただし、一時停止じゃないので注意な!
一時停止は、他のメソッドがあるのでそちらをつかいなされ


さらに、イコライザーとかしたいなら
javazoomにいろいろあるからどぞ

デバイスーC言語ーJavaで橋渡しすれば
もっと多様にできると思うけど大変ですな(´・ω・`)
スポンサーサイト



テーマ : パソコンな日々
ジャンル : コンピュータ

コメントの投稿

非公開コメント

ぶろぐかんりしゃ

SmartWoods
最近MoEは・・・
一休み

***** ひとこと *****

MoEの後継ともいわれる
Resonance gamez
完全スキルMMOが
気になるところ



********************


↓2016/3/26更新
My MoE









**********

NEWとらっくばっく
あーかいぶ
かてごりー
リンク
ぶろぐないけんさく
RSSふぃーど
おともだちになろ

この人とブロともになる