Qt Multimedia Windows

このページでは、Windows でQt Multimedia を使用する際の注意事項について説明します。

COMに関する注意事項

Qt Multimedia は Windows プラットフォームの COM API を使用します。このため、Qt Multimedia API にアクセスするスレッド上で COM を初期化する必要があります。Qt Multimedia API は必要に応じて自動的に COM を初期化しますが、Qt Multimedia API を呼び出す前に、アプリケーションの起動時にメインスレッドからQGuiApplication インスタンスを初期化することをお勧めします。これにより、どのスレッドからもQt Multimedia API が呼び出される前に、メインのシングル・スレッド・アパートメント(メイン STA)が初期化されます。これにより、他のすべてのアパートメントがシャットダウンするまで、メインSTAが初期化されないことも保証されます。

Qt Multimedia COMを必要とするAPIは、CoInitializeEx(nullptr, COINIT_APARTMENT_THREADED) を呼び出すことで、シングルスレッド・アパートメントとしてスレッドを初期化します。CoUninitialize は、スレッドが終了するまで呼び出されません。これはメイン・アプリケーション・スレッドにも当てはまり、CoUninitialize は静的変数の破棄中に呼び出されます。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.