我正在尝试使用基于Windows示例的声音在两台机器之间创建实时通信项目。 https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/SimpleCommunication。我在VB中这样做。样本中发生的是有一个主页,用户调用他想要执行的场景,但在主页面(在一个名为SampleConfiguration的类中)被声明为MediaExtensionManager(line22)之后,有一个名为EnsureMediaExtensionManager的void注册方案" stsp:"格式。 这是我不能做的事情。到目前为止,我已成功翻译了样本,我可以从我的覆盆子中传输声音(我可以使用C语言编写的原始样本听到它仅修改声音)但我无法注册StspSchemeHandler以使用我的MediaElement而且我总是得到一个调试错误MF_MEDIA_ENGINE_ERR_SRC_NOT_SUPPORTED:HREULT - 0xC00D36C3在MediaElement的MediaFailed事件上。如果有人查看了示例的代码,请在第42行的Scenario2_VideoChat中说出。调用EnsureMediaExtensionManager()。
public void EnsureMediaExtensionManager()
{
if (mediaExtensionMgr == null)
{
mediaExtensionMgr = new Windows.Media.MediaExtensionManager();
mediaExtensionMgr.RegisterSchemeHandler("Microsoft.Samples.SimpleCommunication.StspSchemeHandler", "stsp:");
}
}
但据我所知,这是在其他一切之前被调用的...我怎么能调用相同但只使用一页...主页非常感谢
答案 0 :(得分:0)
我如何调用相同但仅使用一页... MainPage
我不确定你为什么说无法做,但是对于这个问题,你可以把方法实现放在{{1}中,而不是在另一个页面中调用该方法。 }。为了确保在其他人之前调用它,它应该放在构造函数内部,方法可能如下:
MainPage
答案 1 :(得分:0)
找到它...经过一个痛苦的搜索下午! 1)右键单击Package.appxmanifest - >查看代码 2)添加这一行
<Extensions>
<Extension Category="windows.activatableClass.inProcessServer">
<InProcessServer>
<Path>Microsoft.Samples.SimpleCommunication.dll</Path>
<ActivatableClass ActivatableClassId="Microsoft.Samples.SimpleCommunication.StspSchemeHandler" ThreadingModel="both"/>
</InProcessServer>
</Extension>
</Extensions>
然后无论你把它叫做什么都可以......