我在这里得到“跨线程操作无效”:
if ( vlc.State == VlcPlayerControlState.PLAYING )
{
if ( vlc.InvokeRequired )
{
vlc.Invoke( new MediaPlayerNoParameterDelegate( vlc.Stop ) );
}
else
{
vlc.Stop(); // debugger points here
}
}
调试表明 vlc 不需要调用。但访问它的线程与创建它的线程不同。
我正在使用 libvlc.net 包装器来播放声音,但问题不应该存在。
我怎样才能摆脱这个异常?
我使用的是线程而不是后台工作者。
谢谢你!
听起来这是 libvlc.net 包装器中的一个错误。
我的建议是始终调用 vlc.Invoke(...)。当确实不需要调用时,您将遭受(小的)性能影响,但如果您从单独的线程中执行此操作,则无论如何总是需要它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)