私が関わっている音声対話ツールキット Galatea に関するご報告です。
本記事は galatea-users ML に投稿した内容です。ご興味をお持ちの方はご参加をご検討いただければ幸いです。
(さらに…)
タグ: java
-
Galatea Project について
-
JMC を使って Java で MP3 を再生する
下記の記事
を読んで、JavaFX のクラスを Java 言語から使うためのパターンがわかってきたので、Java Media Components を Java から使い MP3 ファイルを再生することに挑戦。やっと成功しました。
ただし Windows XP で Java FX SDK 1.1 を C:\Program Files\JavaFX\javafx-sdk にインストールしています。
JavaFX の機能は重要だがスクリプト言語は嫌い、という主張には同意できる点もあるのですが、下記の書き方がやたら冗長に感じるのも事実です。
私としては、Java で過去に実装した資産をうまく再利用するためにこのテクニックを使ってみたいと思います。
// Java MP3 Player using JavaFX JMC classes // 2009-03-08 by nishimotz@gmail.com // based on work of Matt Hicks // http://www.matthicks.com/2009/02/i-hate-javafx-i-love-javafx.html // // Requirements (Eclipse 3.4.1) // To avoid // java.lang.UnsatisfiedLinkError: // com.sun.media.jmcimpl.plugins.directshow.DShowEngine.ndsInit() // add jmc.dll as follows: // Java -> Build Path -> User Library // jmc-dll // File : C:\Program Files\JavaFX\javafx-sdk\lib\desktop\jmc.dll // Location : C:/Program Files/JavaFX/javafx-sdk/lib/desktop // Notes // javafxgui.jar : for javafx.scene.media.* package test; import java.io.IOException; import javafx.scene.Scene; import javafx.scene.media.Media; import javafx.scene.media.MediaPlayer; import javafx.scene.media.MediaView; import javafx.stage.Stage; public class MyMediaPlayer { public MyMediaPlayer() throws IOException { Media media = new Media(); { media.initialize$(); String mediaUrl = "http://hoge.hoge/hoge.mp3"; // String mediaUrl = "file:///C:/hoge/hoge.mp3"; media.$source.set(mediaUrl); } MediaPlayer mediaPlayer = new MediaPlayer(); { mediaPlayer.$media.set(media); } MediaView mediaView = new MediaView(); { mediaView.$mediaPlayer.set(mediaPlayer); } Scene scene = new Scene(); { scene.impl_setWidth(100.0f); scene.impl_setHeight(100.0f); scene.$content.insert(mediaView); } Stage stage = new Stage(); { stage.$title.set("MyMediaPlayer"); stage.$scene.set(scene); } mediaPlayer.play(); } public static void main(String[] args) throws Exception { new MyMediaPlayer(); } }
参考までに、上記の元になった JavaFX の実装例はこちら:
// based on http://gihyo.jp/dev/serial/01/javafx/0010?page=1 import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.Group; import javafx.scene.media.*; var mediaUrl:String = "http://hoge.hoge/hoge.mp3"; var theWidth:Number = 100.0; var theHeight:Number = 100.0; var media = Media { source: mediaUrl }; var mediaPlayer = MediaPlayer { media: media }; Stage { title: "MP3 Player" scene: Scene { width: theWidth height: theHeight content: MediaView { mediaPlayer: mediaPlayer } } } mediaPlayer.play();
-
Windows Eclipse CVS sourceforge.jp
Windows XP で Eclipse 3.4.1 の CVS クライアントを使って sourceforge.jp のアカウントで作業を。。
anonymous ではなく sourceforge.jp のアカウントで commit ができるための設定をしました。
最初に試したのは
でしたが Windows ではうまくいかなかったので再度調査。
をすこし手直ししたら成功しました。
- 以下 PC のアカウントは nishi で SF.jp のアカウントは nishimoto という想定。
まず Windows XP のコントロールパネル「システム」で環境変数の設定。
HOME=c:/cygwin/home/nishi CVSROOT=nishimoto@sourceforge.jp:/cvsroot/galatea CVS_RSH=ssh
[cygwin] $ cd $ ssh-keygen /home/nishi/.ssh/identity $ notepad .ssh/idendity.pub
これを sourceforge.jp の Account Maitainance で CVS/SVN/SSH Shared Authorized Keys に追加。
環境変数が反映されるように新しい cygwin コンソールで確認します。
$ ssh -l nishimoto cvs.sourceforge.jp (omitted) You cannot execute anything here. Connection to cvs.sourceforge.jp closed.
$ ssh -l nishimoto shell.sourceforge.jp Last login: Sat Nov 1 14:38:37 2008 from xxxxxxxxxxxxxxxxxxxx nishimoto@sf-usr-shell:~$ ls galatea nishimoto@sf-usr-shell:~$ logout Connection to shell.sourceforge.jp closed.
環境変数が反映されるように Eclipse を新たに起動します。
- Window – Prefefence – Team – CVS – Ext connection method
- CVS_RSH : c:\cygwin\bin\ssh.exe
- Parameter : -l {user} {host}
- SSH2 (General – Network Connections – SSH2)
- SSH2 home: C:\cygwin\home\nishi\.ssh
- Private Keys: C:\cygwin\home\nishi\.ssh\identity
- New – Project – Project from CVS – New repository location
Host: cvs.sourceforge.jp Repo Path: /cvsroot/galatea User: nishimoto Pass: (empty) Conn.Type: extssh
repository の中身が見えたので成功。
- http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/galatea/
- Windows XP + JDK 1.6.0_10 + ルックアンドフィール Nimbus で Galatea Dialog Studio の基本動作を確認。
上記リンクと少し違う手順が必要でしたが、参考になりました。感謝。