حزمة Swift لأنظمة macOS وiOS وtvOS لإرسال بيانات sACN (E1.31) DMX عبر UDP باستخدام Network.framework
.
ما عليك سوى بدء Connection
للكون ويمكنك البدء في إرسال بيانات DMX.
let connection = Connection ( universe : 1 )
connection . sendDMXData ( Data ( [ 0 , 10 , 255 , 0 , 0 , 0 , 255 ] ) )
إذا كنت تريد استخدام UDP Unicast بدلاً من Multicast، فيمكنك ببساطة تحديد نقطة النهاية بنفسك:
let connection = Connection ( endpoint : . hostPort ( host : " 192.168.2.102 " , . sACN ) , universe : 2 )
connection . sendDMXData ( Data ( [ 0 , 10 , 255 , 0 , 0 , 0 , 255 ] ) )
Foundation
Network.framework
بالنسبة إلى Unicast، يتعين عليك تحديد نقطة نهاية IPv6. بالنسبة للبث المتعدد، تحتاج إلى تحديد إصدار IP الذي تريد استخدامه:
let connection = Connection ( universe : 1 , ipVersion : . v6 )
بعد إنشاء connection
، يمكنك تعيين الأولوية لكل حزمة باستخدام طريقة Connection.sendDMXData(_:priority:isPreviewData:)
. الأولوية الافتراضية هي 100
.
connection . sendDMXData ( data , priority : 200 )
بعد إنشاء connection
، يمكنك اختيار كل حزمة إذا كانت بيانات معاينة أو لا تستخدم طريقة Connection.sendDMXData(_:priority:isPreviewData:)
. القيمة الافتراضية isPreviewData
هي false
.
connection . sendDMXData ( data , isPreviewData : true )
يدعم Connection
تخصيص المنفذ ومعرف المكون (CID) واسم المصدر و DispatchQueue
و NWConneciton.Parameter
. انظر إلى الوثائق لمزيد من المعلومات.
public convenience init (
universe : UInt16 ,
ipVersion : IPVersion = . v4 ,
port : NWEndpoint . Port = . sACN ,
cid : UUID = . init ( ) ,
sourceName : String = getDeviceName ( ) ,
queue : DispatchQueue ? = nil ,
parameters : NWParameters ? = nil
)