Art-Net DMX ผ่านไลบรารี IP สำหรับ Java และการประมวลผล ไลบรารีนี้เพิ่มคุณสมบัติมากมายให้กับโปรเจ็กต์ artnet4j ที่มีอยู่ รวมถึงรองรับการอ่านข้อมูล dmx
OpDmx
8
และ 11
(oracle และ openjdk) ฉันแนะนำให้ติดตั้งจาก maven central มิฉะนั้นก็เป็นไปได้ที่จะใช้แพ็คเกจ github, jitpack.io หรือเพียงแค่การดาวน์โหลดแบบไบนารี่
< dependency >
< groupId >ch.bildspur</ groupId >
< artifactId >artnet4j</ artifactId >
< version >0.6.2</ version >
</ dependency >
repositories {
mavenCentral()
}
dependencies {
compile ' ch.bildspur:artnet4j:0.6.2 '
}
ไลบรารีเพิ่มคลาสใหม่ที่เรียกว่า ArtNetClient
ซึ่งประกอบด้วยการเข้าถึงการใช้งาน Art-Net ที่อยู่ภายใต้ได้อย่างง่ายดาย
ในการส่งข้อมูล dmx คุณต้องสร้างไคลเอนต์ใหม่ เป็นไปได้ที่จะข้ามการสร้างบัฟเฟอร์โดยส่งค่า null
ไปยังตัวสร้าง
byte [] dmxData = new byte [ 512 ];
ArtNetClient artnet = new ArtNetClient ();
artnet . start ();
// set data
dmxData [ 0 ] = 128 ;
// send data to localhost on subnet 0 and universe 0
artnet . unicastDmx ( "127.0.0.1" , 0 , 0 , dmxData );
artnet . stop ();
อิงจาก SendDmxData
นอกจากนี้ยังสามารถส่งข้อมูลผ่านการออกอากาศได้อีกด้วย
// to broad cast data
artnet . broadcastDmx ( 0 , 0 , dmxData );
หากต้องการอ่านข้อมูล คุณต้องสร้างไคลเอนต์ใหม่และอ่านไบต์จากบัฟเฟอร์ โปรดทราบว่าคุณต้องปกปิดไบต์ด้วย 0xFF
(เนื่องจากมีการเซ็นชื่อ)
ArtNetClient artnet = new ArtNetClient ();
artnet . start ();
byte [] data = artnet . readDmxData ( 0 , 0 );
System . out . println ( "First Byte: " + data [ 0 ] & 0xFF );
artnet . start . stop ();
อิงตามReceiveDmxData
ในขณะที่สร้าง ArtNetClient
คุณสามารถเลือกพอร์ตเฉพาะสำหรับ เซิร์ฟเวอร์ (ขาเข้า) และ ไคลเอนต์ (ขาออก)
ArtNetClient artnet = new ArtNetClient ( new ArtNetBuffer (), 8000 , 8000 );
อิงตาม SendOnSpecificPort
นอกจากนี้ยังสามารถตั้งค่าอินเทอร์เฟซเครือข่ายแบบกำหนดเองได้อีกด้วย ที่นี่คุณจะเห็นวิธีผูกอินเทอร์เฟซเครือข่ายที่กำหนดเอง en5
กับเซิร์ฟเวอร์ ArtNet:
NetworkInterface ni = NetworkInterface . getByName ( "en5" );
InetAddress address = ni . getInetAddresses (). nextElement ();
artnet . start ( address );
บางครั้งจำเป็นต้องรับกิจกรรมเมื่อได้รับแพ็คเกจใหม่ สำหรับข้อนี้ คุณสามารถรับ ArtNetServer ที่อยู่ข้างใต้และเพิ่ม Listener ใหม่เข้าไปได้
artnet = new ArtNetClient ();
// add packet listener to server
artnet . getArtNetServer (). addListener (
new ArtNetServerEventAdapter () {
@ Override public void artNetPacketReceived ( ArtNetPacket packet ) {
println ( "new packet received!" );
}
});
artnet . start ();
ห้องสมุดจะขึ้นอยู่กับโครงการ artnet4j ในขณะนั้น
Art-Net โดย Artistic License อนุญาตให้ออกอากาศข้อมูล DMX ผ่าน IP/UDP ไลบรารีนี้กำลังใช้โปรโตคอลพื้นฐานสำหรับแอปพลิเคชัน Java
คุณสมบัติหลักที่รองรับในปัจจุบันคือ:
ขณะนี้โปรเจ็กต์นี้ยังอยู่ในช่วงพรีอัลฟา ดังนั้นขณะนี้มีเพียงการเข้าถึงแหล่งที่มาผ่าน hg เท่านั้น โปรดทราบว่าโค้ดเบสส่วนใหญ่ยังคงอยู่ระหว่างการเปลี่ยนแปลงครั้งใหญ่
คุณสมบัติใหม่ได้รับการพัฒนาโดย Florian