Почему Silverlight обеспечивает поддержку веб-камеры и микрофона без какого-либо API кодирования? - PullRequest
5 голосов
/ 07 мая 2010

В списке новых функций в Silverlight 4 вы найдете следующее:

Веб-камера и микрофон, позволяющие обмениваться видео и аудио, например, для чата или приложений обслуживания клиентов.

Silverlight захватывает аудиопоток как необработанный PCM. Итак, как бы вы реализовали, например, приложение аудио / видео чата или клиент / сервер для записи звука без какой-либо кодировки на стороне клиента, где нет доступных API в Silverlight?

Гораздо меньше в Silverlight, вы не можете использовать неуправляемую DLL. Вы можете использовать автоматизацию com (новая функция Silverlight 4, я думаю, только для Windows), но только если она уже была установлена ​​на стороне клиента (знаете ли вы какие-либо кодирующие COM-серверы, которые установлены с окнами). В противном случае, как бы вы развернули пользовательский COM-сервер в приложении Silverlight?

Единственный способ, который я нашел, - это либо развернуть кодировку командной строки и использовать ее с COM AutomationFactory.CreateObject ("WScript.Shell"), либо реализовать кодировку для использования ее в собственной AudioSink .

1 Ответ

3 голосов
/ 07 мая 2010

Моя первоначальная мысль, когда я обнаружил, что это MS не поняла, о чем на самом деле просили люди.Однако, как выясняется после разговора с некоторыми людьми из команды Silverlight, реальная проблема заключалась лишь в том, что у них не было времени добраться до потоковой части.Чтобы получить комплексное решение для потокового видео (видеочата), им пришлось бы координировать свои действия с различными командами, которые каким-либо образом не были связаны с командой Silverlight, и которые просто не собиралисьпроизойдет к тому времени, когда Silverlight 4 должен был быть выпущен.Следовательно, я подозреваю, что это будет исправлено к моменту появления Silverlight 5.

Если вам нужно использовать эту функциональность сейчас, есть довольно простая реализация приложения видеочата, доступного по адресу SocketCoder / Codeplex .

...