windows-phone-8 - Caliburn Micro和麦克风NullReferenceException

标签 windows-phone-8 mvvm caliburn.micro caliburn

我使用模式MVVM Caliburn Micro,在我的ViewModel中,我有此代码

private Microphone microphone;
private byte[] buffer;
private MemoryStream stream;

public MainViewModel()
{
    microphone = Microphone.Default;
    stream = new MemoryStream();

    DispatcherTimer dt = new DispatcherTimer();
    dt.Interval = TimeSpan.FromMilliseconds(50);
    dt.Tick += delegate
    {
        try
        {
            FrameworkDispatcher.Update();
        }
        catch { }
    };

    dt.Start();
    microphone.BufferReady += new EventHandler<EventArgs>(microphone_BufferReady);
}

void microphone_BufferReady(object sender, EventArgs e)
{
    //...
}

在这个microphone.BufferReady += new EventHandler<EventArgs>(microphone_BufferReady);
接收错误=> System.NullReferenceException:对象引用未设置为对象的实例

最佳答案

WMAppManifest.xml中是否启用了ID_CAP_MICROPHONE功能?如果未启用Microphone.Default,则返回NULL。

关于windows-phone-8 - Caliburn Micro和麦克风NullReferenceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23605834/

相关文章:

c++ - 使用 C++ 开发 Windows Phone 应用程序

javascript - Windows 8 HTML 5 Web APP AJAX post 不起作用

c# - 如何在 C# 中动态设置/删除属性?

javascript - $scope 应该附加什么方法?

c# - Caliburn.Micro 将 VM 设置为继承屏幕时,会覆盖 View 中的标题字段

c++ - Direct3D 中的 Windows Phone 8 触摸位置

windows-phone - Windows Phone 8 中的 FM radio 发生了什么变化?

c# - 使用 ninject 作为 WPF View 模式定位器 - View 模型作为单例

caSTLe-windsor - 温莎城堡 : Set component dependencies on existing object

c# - Caliburn.micro 将参数从一个屏幕传递到另一个屏幕