Re: [VB.NET]Windows7で非同期Da_Play ( No.1 ) |
- 日時: 2010/07/07 10:38
- 名前: 管理人
- AquesTalk.dllは一応スレッドセーフに作っているのですが・・・
なぜマルチスレッドで AquesTalkDa_PlaySync()でなく非同期タイプ(発声終了を待たずに関数から抜ける)のAquesTalkDa_Play()を使うのかわかりませんが、 発声が終了する前にスレッドが終了するなどして、H_AQTKDAハンドルが解放されたりしてませんか?
|
Re: [VB.NET]Windows7で非同期Da_Play ( No.2 ) |
- 日時: 2010/07/11 20:32
- 名前: いしい
- 管理人様、ご回答ありがとうございます。
PlaySyncで実装すると、PlaySyncで処理が返ってこなり、アプリケーション自体ハングアップしてしまうんです・・・。 それで、非同期タイプを使用するに至ります。。
非同期の場合、発声が終了する前に、 スレッドが先に終了してしまうのでしょうか? もしそうだとすると、回避方法は、ありますか? ※ちなみに、明示的な解放は行なっていません。
|
Re: [VB.NET]Windows7で非同期Da_Play ( No.3 ) |
- 日時: 2010/07/12 18:42
- 名前: 管理人
- >非同期の場合、発声が終了する前に、スレッドが先に終了してしまうのでしょうか?
これは、プログラムの書き方次第かと。
>PlaySyncで実装すると、PlaySyncで処理が返ってこなり、アプリケーション自体ハングアップしてしまうんです・・・。
まずは、こちらの原因を調べてからが良いかと思われます。 ちなみに、管理人はVBは全くわかりません 
|
Re: [VB.NET]Windows7で非同期Da_Play ( No.4 ) |
- 日時: 2010/07/28 15:50
- 名前: いしい
- 考えられる対応をすべて試行したのですが、
何をしてもダメだったので、 Microsoftのサポートに問合せて、 パッチを適用したところ、 なんとか解決に至りました。 (まだ検証中ですが、今のところ安定しています。) お騒がせしました。
『Windows 7 または Windows Server 2008 R2 で オーディオをキャプチャおよび再生するアプリケーションが応答を停止する』 ttp://support.microsoft.com/kb/981679/ja
|