【问题标题】:How To Capture the Microphone Buffer如何捕获麦克风缓冲区
【发布时间】:2013-04-13 01:11:33
【问题描述】:

我正在使用 VOIP 聊天应用程序作为参考代码。我正在尝试在 C# 中获取捕获的音频数据,以便我可以发送到网络。在后端项目 Server.h 中有一个方法可以提供可在 UI 中使用的 callController 对象。我尝试添加将给我音频控制器对象的方法,但应用程序崩溃说访问冲突执行位置 0x6BE27618。

或者有没有其他方法可以用来在c#代码中获取麦克风数据。

【问题讨论】:

    标签: c# silverlight windows-phone-7 audio


    【解决方案1】:

    这实际上取决于您尝试在其中使用它的上下文。对于标准应用程序,有一种抽象的方法可以做到这一点,通过Coding4Fun Toolkit。使用MicrophoneRecorder 类。归结为:

    MicrophoneRecorder recorder = new MicrophoneRecorder();
    recorder.Start();
    // Do something - e.g. wait
    recorder.Stop();
    byte[] capture = recorder.Buffer;
    

    【讨论】:

    • 我知道,但我想从聊天框参考代码中获取麦克风数据。现在它只是在本机代码中,我想在托管代码中获取该数据。
    • 我能够在 UI 中获取 BackEndAudio 对象。在 BackEndAudio 类中,当捕获的数据准备好时,我正在触发事件。为了捕捉该事件,我在 c# 代码中添加了事件侦听器但我得到了以下异常。任何人都可以帮助解决 HeadlessHost.exe 中 0x6D8E2F15 (Msvcr110d.dll) 处的未处理异常:0xC0000005:访问冲突写入位置 0x00000000。
    • 在我看来就像一个 nullref 异常。使用您正在使用的代码更新您的主帖子
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 2013-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多