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が呼び出される前に、メインのシングルスレッド・アパートメント(main STA)が確実に初期化されます。また、他のすべてのアパートメントがシャットダウンするまで、main STAが初期化解除されないことも保証されます。
Qt Multimedia COMを必要とするAPIは、CoInitializeEx(nullptr, COINIT_APARTMENT_THREADED) を呼び出すことでスレッドをシングルスレッド・アパートメントとして初期化します。また、CoUninitialize は、スレッドが終了するまで呼び出されません。これはメインのアプリケーションスレッドにも適用され、静的変数の破棄時にCoUninitialize が呼び出されます。
© 2026 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.