2

ここで「クロススレッド操作が無効です」と表示されます。

if ( vlc.State == VlcPlayerControlState.PLAYING )
        {
            if ( vlc.InvokeRequired )
            {
                vlc.Invoke( new MediaPlayerNoParameterDelegate( vlc.Stop ) );
            }
            else
            {
                vlc.Stop(); // debugger points here
            }
        }

デバッグすると、vlc を呼び出す必要がないことがわかります。ただし、これにアクセスするスレッドは、作成されたスレッドとは異なります。

libvlc.net ラッパーを使用してサウンドを再生していますが、問題はないはずです。この例外を取り除くにはどうすればよいですか?

バックグラウンドワーカーではなくスレッドを使用しています。

ありがとうございました!

4

1 に答える 1