4

GoPro Hero 3 カメラを制御しようとしています。インターネットでライブラリを見つけました: https://github.com/r1pper/GoPro.Heroと私が読んだものから、それは素晴らしいライブラリです。しかし、カメラとの接続を作成しようとすると、(テスト用の) コンソール アプリケーションが接続を確立するだけで、完全な Windows フォーム アプリケーションがフリーズします。非同期タスクと関係があると思いますが、何が間違っていますか?

この行は、カメラとの接続を作成し、コマンドを送信します。

var camera = Camera.Create<Hero3Camera>("10.5.5.9");
4

1 に答える 1

5

別のスレッドからコマンドを呼び出すか、単に HttpRequestMode を sync に設定することができます

GoPro.Hero.Configuration.CommandRequestMode = GoPro.Hero.Configuration.HttpRequestMode.Sync

説明:

CommandRequestタスクを内部的に使用します。Create代わりに、UI コンテキストでデッドロックを引き起こすメソッドでTask.WaitCreateAsyncを呼び出すなどのブロッキング メソッドを使用する場合 (UI スレッドと同じコンテキストを使用)、Sync に設定することにより、デッドロックを防ぐ代替メソッドSendRequestSynchronousを使用します。 .Configuration.CommandRequestMode

于 2014-08-26T06:39:10.193 に答える