artnet4j
artnet4j 0.6.2
用於 Java 和處理的 Art-Net DMX over IP 函式庫。該庫為現有的 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並向其添加新的偵聽器。
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 by Artistic License 允許透過 IP/UDP 廣播 DMX 資料。該程式庫正在實作 Java 應用程式的基本協定。
目前支援的核心功能有:
該專案目前仍處於 pre-alpha 階段,因此目前只能透過 hg 存取原始程式碼。另請注意,程式碼庫的大部分仍在經歷重大變更。
新功能由 Florian 開發。