UWP现场声音流媒体项目

时间:2018-04-15 10:03:16

标签: audio uwp live

我正在尝试使用基于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:");
     }
 }

但据我所知,这是在其他一切之前被调用的...我怎么能调用相同但只使用一页...主页非常感谢

2 个答案:

答案 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>

然后无论你把它叫做什么都可以......

相关问题