2

我一直在运行 Windows 10 IoT Core 的 Raspberry Pi 2 中工作。项目主题传感器通过打开视频触发。但我收到以下错误:

ProjeVol1.exe 中出现“System.Exception”类型的异常,但未在用户代码中处理

附加信息:应用程序调用了为不同线程编组的接口。(来自 HRESULT 的异常:0x8001010E (RPC_E_WRONG_THREAD))

代码:

private void SensorPin_ValueChanged(GpioPin sender, GpioPinValueChangedEventArgs args)
{
    Debug.WriteLine("Sensor Tetiklendi");
    if (args.Edge == GpioPinEdge.FallingEdge)
    {
        Debug.WriteLine("Falling Edge");
        ledPin.Write(GpioPinValue.High);
        VideoAc();

    }
    else if (args.Edge == GpioPinEdge.RisingEdge)
    {
        Debug.WriteLine("Rising Edge");
        ledPin.Write(GpioPinValue.High);

    }
}


public void VideoAc()
{
    video.AutoPlay = true;
    video.Play();
    video.MediaEnded += Video_MediaEnded;
}
4

1 回答 1

3

传感器事件可能来自与 UI 不同的线程,这让框架很生气。

尝试将VideoAc调用包含在调度程序同步中,如本文所述:UWP update UI from Task

await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => {
    VideoAc();
});
于 2016-07-18T15:17:27.027 回答