为啥 Silverlight 在没有任何编码 API 的情况下提供网络摄像头和麦克风支持?
Posted
技术标签:
【中文标题】为啥 Silverlight 在没有任何编码 API 的情况下提供网络摄像头和麦克风支持?【英文标题】:Why does Silverlight provides webcam and microphone support without any encoding API?为什么 Silverlight 在没有任何编码 API 的情况下提供网络摄像头和麦克风支持? 【发布时间】:2011-02-16 21:38:31 【问题描述】:在 Silverlight 4 的新功能列表中,您会发现以下内容:
网络摄像头和麦克风允许共享视频和音频,例如用于聊天或客户服务应用程序。
Silverlight 将音频流捕获为原始 pcm。那么,如果 Silverlight 中没有可用的 API,您将如何在客户端没有任何编码的情况下实现例如音频/视频聊天或客户端/服务器音频录制应用程序?
更不用说在 Silverlight 中您不能使用非托管 dll。您可以使用 com 自动化(Silverlight 4 的一项新功能,我认为仅适用于 Windows),但前提是它已经安装在客户端(您知道与 Windows 一起安装的任何编码 COM 服务器)。否则,您将如何在 Silverlight 应用程序中部署自定义 COM 服务器?
我发现的唯一方法是部署命令行编码并将其与 COM AutomationFactory.CreateObject("WScript.Shell") 一起使用,或者实现编码以在您自己的 Audiosink 中使用它。
【问题讨论】:
【参考方案1】:当我发现这一点时,我最初的想法是 MS 并没有意识到人们真正想要的是什么。然而,事实证明,在与 Silverlight 团队的一些人交谈后,实际问题只是他们没有时间进入流媒体部分。为了获得端到端的流媒体(视频聊天)解决方案,他们必须与各种与 Silverlight 团队没有任何特定联系的团队进行协调,而这只是不可行的。发生在 Silverlight 4 需要发布的时候。因此,我怀疑他们会在 Silverlight 5 推出时解决这个问题。
如果您现在需要使用此功能,SocketCoder/Codeplex 提供了一个相当简单的视频聊天应用程序实现。
【讨论】:
是否有任何可用的商业重新编码和流媒体解决方案,例如 wowza for flash? 不管怎样,Silverlight 5 似乎没有解决这个问题。 在 Silverlight 5 中,您可以在受信任的模式下访问任何文件、p-invoke,并且您可以使用 xna api。以上是关于为啥 Silverlight 在没有任何编码 API 的情况下提供网络摄像头和麦克风支持?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我装了silverlight后说我装了,但是再开同样的网页时,又要我下载然后安装
window2003 已经安装了silverlight 为啥还提示要安装