我遇到了来自 NAudio 库的 BufferedWaveProvider 的问题。我正在录制 2 个音频设备(一个麦克风和一个扬声器),将它们合并为 1 个流并将其发送到编码器(用于视频)。
为此,我执行以下操作:
WasapiCapture.WasapiLookbackCapture. (我也使用 aSilenceProvider所以我记录的内容没有空白)。MediaFoundationResampler来调整其格式,使其与扬声器中的音频相同。BufferedWaveProvider.MixingSampleProvider我ISampleProvider从每个录制线程传递的地方。所以我通过MediaFoundationResampler麦克风和BufferedWaveProvider扬声器。MixingSampleProvider,它应该BufferedWaveProvider在填充时异步清空(s)。请参阅下面的流程图,它说明了我上面的描述。
during进行 Discord、Skype 或 Teams 音频对话时,我都会立即(在 5 秒内)崩溃,BufferedWaveProvider.AppSamples因为缓冲区已满。在调试模式下查看它,我可以看到:
从我在 NAudio 的作者博客、文档和 StackOverflow 上阅读的内容来看,我认为我正在做最佳实践(但我可能是错的),即从一个线程写入缓冲区,并从另一个线程并行读取它. 当然有一种风险,它比我阅读它的速度更快,这基本上就是现在正在发生的事情。但我不明白为什么。
我需要一些帮助来理解我在这里遗漏了什么,请。以下几点让我感到困惑:
为什么这个问题只发生在 …
有没有人知道如何使用Visual Studio 2013(因此无需安装Visual Studio 2010)在Windows 8.1 RTM上开发Windows Phone 7?我在安装Visual Studio 2013时检查了WP8.0,但它没有提供我的解决方案所需的7.1 SDK.
如果我可以在不安装Visual Studio 2010的情况下完成它将会很棒.:D
先感谢您 :-)
visual-studio windows-phone-7 visual-studio-2013 windows-8.1
我想通过命令提示符创建临时证书(构建metro应用程序所需).我曾尝试用CMD做到这一点:
makecert.exe -n "CN=MY_DOMAIN" -r -a sha1 -sv MY_DOMAIN.pvk MY_DOMAIN.cer –ss root
pvk2pfx -pvk MY_DOMAIN.pvk -spc MY_DOMAIN.cer -pfx MY_DOMAIN.pfx
Run Code Online (Sandbox Code Playgroud)
但是当我在我的项目中的这个pfx文件时,我有以下错误:
C:\ Program Files(x86)\ MSBuild\Microsoft\VisualStudio\v11.0\AppxPackage\Microsoft.AppXPackage.Targets(1142,9):错误:APPX0107:指定的证书对签名无效.