[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Java3Djp:01989] Java3DのSoundノードについて



はじめまして、山田と申します。

研究の関連で、Java3Dによる仮想空間内で
リアルタイムで音声の送受信を行う仕組みを現在開発しております。

その関係で、MediaContainerオブジェクトに
ネットワーク経由で入手したInputStream(AudioInputStream)を渡して、
それをPointSoundオブジェクトにセットしストリーミング再生させたいのですが、

javax.media.j3d.SoundException: null: Sound source data could not be loaded
	at javax.media.j3d.SoundScheduler.attachSoundData(SoundScheduler.java:2675)
	at javax.media.j3d.SoundScheduler.processSoundAtom(SoundScheduler.java:1285)
	at javax.media.j3d.SoundScheduler.calcSchedulingAction(SoundScheduler.java:1577)
	at javax.media.j3d.SoundScheduler.renderChanges(SoundScheduler.java:787)
	at javax.media.j3d.SoundScheduler.processMessages(SoundScheduler.java:229)
	at javax.media.j3d.StructureUpdateThread.doWork(StructureUpdateThread.java:83)
	at javax.media.j3d.J3dThread.run(J3dThread.java:256)

という例外が生じてしまいます。
調べてみたところ、Java3D1.2.1_04の既知のバグに

4360462 Sound nodes referencing InputStream MediaContainer not fully functional

という記述があり、これが関係しているのかと思っております。

また、MediaContainerオブジェクトに渡せるリソースの形式は、URL、String(URLの文字列表記)、
InputStreamとなっていたのでrtpのアドレスをURLの形で渡す事も試してみたのですが、これもうまくいきませんでした。


こういった問題を回避して、Soundノードにうまくストリーミングデータを渡す方法は無いでしょうか?
どなたかご存知の方、よろしくお願いします。


開発環境は以下の通りです。

Java3D	1.2.1_04 (OpenGL版:Win)
JDK	1.3.1
WindowsXP

+-----------------------------------------------+
京都大学情報学研究科社会情報学専攻

	修士課程  山田 暁通

	mail: akimichi@xxxxxxxxxxxxxxxxxxxxxxx
+-----------------------------------------------+



As゚筅タ柏クB@4゙@Aaカレýェb曉,yé「:Yヒゥâf