ともさんのHP >プロブラミング >自作JavaLibrary >【JAVA】音声や音楽ファイルを再生するためのクラス

【JAVA】音声や音楽ファイルを再生するためのクラス

JAVAで音声や音楽の入ったファイルを再生するClassを作ってみました。
目的は決まった時刻に音楽やメッセージを流したいと思ったからです。
いつものようにネット上の見知らぬ諸先輩方のコードを参考にさせていただきました。ありがとうございます。

広告

JMFのインストール

JAVA 楽天 だけインストールしても動きません。JMFを追加でインストールしましょう。
JMFはJava Media Frameworkの略です。これをインストールすれば、音声ファイルだけでなく、動画や、USBカメラの制御もjavaで できるようになります。
具体的なインストールの仕方は...忘れてしまいました。確か、「\jre\lib\ext」フォルダの下にjmf.jar ファイルを置けばよかったかと思います(間違ってたらごめんなさい)。

音声ファイルの準備

音声は自分の声を録音しても良いのですが、自分の声を聞くのはちょっと恥ずかしいので、フリーの音声合成ソフトを探しました。 見つけたのは、こちら東芝のサイトです。 文章を入力すると音声を合成してくれて、wav形式のファイルをダウンロードできます。

音楽ファイルのファイル形式変換

音楽ファイルですが、wma形式でもっているのですが、 Java 楽天 が認識してくれませんでした。そこでファイル形式変換のフリーソフトを 利用しました。
ecodecotool wma→wav形式に変換したら、普通に再生できました。

クラスの使い方

他のクラスから、下記のように呼び出せばOK

PlayMusic pm = new PlayMusic();
String tmps = "c:\\mousugunerujikan.wav";
pm.play( tmps );

再生中にプログラムは先へ進んでしまいます。連続して再生する場合は下記のように 再生の終了を待ってから次のファイルを再生します。
こうしないと、次々に新しいファイルを再生してしまい、何重奏にもなってしまいます。

PlayMusic pm = new PlayMusic();
String tmps = "c:\\mousugunerujikan.wav";
pm.play( tmps );
do{}while( pm.flug );
pm.flug = true;
tmps = "c:\\mousugunerujikan2.wav";
pm.play( tmps );

java音楽音声ファイル再生classのソースコード

以下PlayMusic.javaファイルのソースです。コピペして使ってみてください。

package tomojavalib.util;


import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.media.*;

/**
 * 
 * @author to.tomo.net
 *音声ファイルを再生するClassです。
 */


public class PlayMusic {

boolean flug = true;
 
public static void main(String[] args) {
 PlayMusic pm = new PlayMusic();
 String tmps = "";
 tmps = "c:\\mousugunerujikan2.wav";
 pm.play( tmps );
 System.out.println("end2");
 do{}while( pm.flug );
 pm.flug = true;
 pm.play( tmps );
 System.out.println("end3");
}


public void play(String filename)
{
 try {
     File file = new File(filename);
     URL url = file.toURL();
     final Player player = Manager.createRealizedPlayer(url);
     player.start();
     player.addControllerListener(new ControllerAdapter(){
         public void endOfMedia(EndOfMediaEvent ev) {
           System.out.println("end");
           flug = false;
           player.close();
            return;
         }
     });
 } catch (MalformedURLException ex) {
     Logger.getLogger(PlayMusic.class.getName()).log(Level.SEVERE, null, ex);
 } catch (IOException ex) {
     Logger.getLogger(PlayMusic.class.getName()).log(Level.SEVERE, null, ex);
 } catch (NoPlayerException ex) {

広告

     Logger.getLogger(PlayMusic.class.getName()).log(Level.SEVERE, null, ex);
 } catch (CannotRealizeException ex) {
     Logger.getLogger(PlayMusic.class.getName()).log(Level.SEVERE, null, ex);
 }
return;
}  

}

最終更新日: 2012-09-20 06:02:41

ともさんのHP >プロブラミング >自作JavaLibrary >【JAVA】音声や音楽ファイルを再生するためのクラス

このエントリーをはてなブックマークに追加
広告
おすすめ記事
新着ページ

fxmlファイルの利用  
雑草でグリーンカーテン  
ウエスト切り替えワンピースの作りかた  
気象観測装置を作りました  
五右衛門風呂の修復  
子ウインドウを開く  
キキョウの栽培、手入れ、増やしかた  
ツリービューにポップアップメニューを追加  
JavaFXでPopupMenu  
竹を曲げる方法  
井戸保護カバーの自作  

私の他のサイト

ともさんの箱庭(ブログ)
家庭菜園
3D-CAD
洋裁CAD

いいねなど

 RSS 
PageSpeedInsights
html5チェック

Author: Tomoyuki Ito

このサイトの文章・写真の無断転載を禁じます