C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ツリー一括表示

axWindowsMediaPlayerのステータスを取得 /C++ (18/09/25(Tue) 17:31) #88765
Re[1]: axWindowsMediaPlayerのステータスを取得 /とっちゃん (18/09/25(Tue) 18:03) #88766
  └ Re[2]: axWindowsMediaPlayerのステータスを取得 /C++ (18/09/25(Tue) 22:00) #88772 解決済み


親記事 / ▼[ 88766 ]
■88765 / 親階層)  axWindowsMediaPlayerのステータスを取得
□投稿者/ C++ (1回)-(2018/09/25(Tue) 17:31:44)

分類:[C++/CLI] 

プログラミング言語 : C++/CLI

Windowsフォームアプリケーションで動画を再生させたいと考えております。
起動したらすぐにマルチスレッド処理を開始し、並列処理先では動画が再生されたら処理を開始するというようなプログラムを組みたいと考えております。

そこで、並列処理先では一番最初に
while (axWindowsMediaPlayer_Vision->playState != WMPLib::WMPPlayState::wmppsPlaying) {}
を入れて動画が再生されるまで無限ループさせようと考えました。


しかし、この1行を入れた瞬間、動画が再生されずにアプリケーションがフリーズします。
"○○は動作を停止しました"というエラーが出てきます。


何か解決方法ありませんでしょうか?
[ □ Tree ] 返信 編集キー/

▲[ 88765 ] / ▼[ 88772 ]
■88766 / 1階層)  Re[1]: axWindowsMediaPlayerのステータスを取得
□投稿者/ とっちゃん (536回)-(2018/09/25(Tue) 18:03:55)
No88765 (C++ さん) に返信

axWindowsMediaPlayer って、COM(OCX)のやつですよね?
STAで作られてると思うので、マルチスレッドアクセスは原則NGだと思うのですが。。。

それはともかく、再生開始はイベントで確認するのがいいと思います(詳しくはリファレンスを見てください)。

[ 親 88765 / □ Tree ] 返信 編集キー/

▲[ 88766 ] / 返信無し
■88772 / 2階層)  Re[2]: axWindowsMediaPlayerのステータスを取得
□投稿者/ C++ (2回)-(2018/09/25(Tue) 22:00:40)
そうすることにしました。
解決です、ありがとうございました。
解決済み
[ 親 88765 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -