[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:00261] Re: Sound について
あだちです。
> メールに書かれたプログラムを見ると setSchedulingBound による
> 作用範囲設定がない気がするのですが、これで音は出てますでしょうか?
他にも下記のようなクラスがあります。
public class PointSoundNode extends TransformGroup {
public PointSoundNode( String fileName ) {
setCapability( TransformGroup.ALLOW_TRANSFORM_READ );
setCapability( TransformGroup.ALLOW_TRANSFORM_WRITE );
setCapability( TransformGroup.ENABLE_PICK_REPORTING );
BoundingSphere bounds = new BoundingSphere();
// Point Sound
PointSound sound = new PointSound();
MediaContainer data = new MediaContainer( getAbsoluteFileURL( fileName ) );
sound.setSoundData( data );
sound.setInitialGain( 1.0f );
Point2f fdg[] = {
new Point2f( 1.0f, 1.0f ),
new Point2f( 2.0f, 0.5f ),
new Point2f( 3.0f, 0.25f ),
new Point2f( 4.0f, 0.1f ),
new Point2f( 5.0f, 0.05f ),
};
sound.setDistanceGain( fdg );
sound.setLoop( Sound.INFINITE_LOOPS );
sound.setEnable( true );
sound.setSchedulingBounds( bounds );
sound.setPosition(-5.0f, 0.0f, -5.0f);
addChild( sound );
}
public String getAbsoluteFileURL( String fileName ) {
String result = null;
try {
File dir = new File( "." );
String path = dir.getAbsolutePath();
StringTokenizer st
= new StringTokenizer( path, "/" );
StringBuffer sb = new StringBuffer();
sb.append( "file:/" );
for( int i=0; i<st.countTokens(); ) {
sb.append( st.nextToken() );
sb.append( File.separator );
}
sb.append( fileName );
result = sb.toString();
}
catch( Exception e ) {
System.err.println( "File Name Error" );
}
return result;
}
}
> PointSoundはデフォルトでは原点(x=0, y=0, z=0)に位置します。
> どこか別の座標に移動したいということでしょうか?
> 描画対象の Canvas3D を表示せずに音を出したいということでしょうか?
はい。そのとおりです。あくまで3D音響のみを使用したいと思っています。
> SimpleUniverse を使わずにひとつづつ View 側のシーングラフを構築し、
> AudioDevice3D を明示的に追加すれば実現できるのかも知れません。
SimpleUniverse を使わない場合はどのようになるのでしょうか?
JAVA3D プログラミングバイブルに載っていたでしょうか?
LocaleとBranchGroupの組み合わせがわかりません。
VirtualUniverse universe = new VirtualUniverse();
Locale locale = new Locale(universe);
BranchGroup root = new BranchGroup();
よろしくお願いします。
--
TeruoAdachi <adachi02_ver2@xxxxxxxxx>
__________________________________
Do You Yahoo!?
Upgrade Your Life
http://bb.yahoo.co.jp/