2015-10-27 7 views
2

Я пытаюсь сделать приемник AirPlay на Windows, и я наткнулся на Mono.Zeroconf http://www.mono-project.com/archived/monozeroconf/. С этим я попытался выставить код. Вот фрагмент кода:Как сделать приемник AirPlay с помощью Mono.Zeroconf

EDITED КОД:

RegisterService airplayService = new RegisterService(); 
RegisterService raopService = new RegisterService(); 

TxtRecord airplayTxtRecord = new TxtRecord(); 
TxtRecord raopTxtRecord = new TxtRecord(); 

raopTxtRecord.Add("txtvers", "1"); 
raopTxtRecord.Add("ch", "2"); 
raopTxtRecord.Add("cn", "0,1,2,3"); 
raopTxtRecord.Add("da", "true"); 
raopTxtRecord.Add("et", "0,3,5"); 
raopTxtRecord.Add("md", "0,1,2"); 
raopTxtRecord.Add("pw", "false"); 
raopTxtRecord.Add("sv", "false"); 
raopTxtRecord.Add("sr", "44100"); 
raopTxtRecord.Add("ss", "16"); 
raopTxtRecord.Add("tp", "UDP"); 
raopTxtRecord.Add("vn", "65537"); 
raopTxtRecord.Add("vs", "130.14"); 
raopTxtRecord.Add("am", "AppleTV2,1"); 
raopTxtRecord.Add("sf", "0x4"); 

raopService.Name = macAddress + "@" + "AirPlay Receiver"; 
raopService.RegType = "_raop._tcp"; 
raopService.ReplyDomain = "local."; 
raopService.UPort = 49152; 
raopService.TxtRecord = raopTxtRecord; 
raopService.Register(); 

airplayTxtRecord.Add("deviceid", macAddress); 
airplayTxtRecord.Add("features", "0x39f7"); 
airplayTxtRecord.Add("model", "AppleTV2,1"); 
airplayTxtRecord.Add("srcvers", "130.14"); 

airplayService.Name = "AirPlay Receiver"; 
airplayService.RegType = "_airplay._tcp"; 
airplayService.ReplyDomain = "local."; 
airplayService.Port = 7000; 
airplayService.TxtRecord = airplayTxtRecord; 
airplayService.Register(); 

Я имел это в моей ссылке: https://nto.github.io/AirPlay.html#servicediscovery-airplayservice.

Теперь мне интересно, как мне отображать зеркало моего устройства в моем приложении?

+0

Похоже, что пакет Mono.Zeroconf nuget не работает. Я не могу публиковать какие-либо сервисы. Я попытался сделать обходной путь, построив проект в https://github.com/mono/Mono.Zeroconf/, и я использовал .dlls (Mono.Zeroconf.dll и Mono.Zeroconf.Providers.Bonjour.dll). Это обходное решение позволило моему приложению опубликовать эту услугу. Однако опубликовать сервис AirPlay недостаточно. Мне также нужно было опубликовать сервис RAOP. См. Отредактированный фрагмент кода. Теперь мое устройство iOS может обнаружить мое приложение. Однако функциональность AirPlay предназначена только для аудио. Мне нужна функция экранного зеркала – anton

+0

Вы когда-нибудь получали эту работу? Если хочешь, мне нужна помощь. благодаря –

ответ

0

Я обнаружил для iOS 9 из определенного программного обеспечения, что вам нужно изменить функции на 0x5A7FFFF7. Тогда ваш сервер будет распознан как видеоустройство.