3

メディアプレーヤー/レコーダーを開発したい。

主要なターゲットプラットフォームはWindowsであり、他のOSのサポートは素晴らしいでしょうが、それは優先度が高くありません。wav、mp3、aviなどの形式を再生できる必要があります。また、オーディオ(マイク)とビデオ(ウェブカメラまたはキャプチャカード)を録音できる必要があります。

QTとC++の経験があるので、DSバックエンドを使用したQT(4.7.2)フォノンを調べました。しかし、残念ながら、QTデモに付属しているMediaPlayerサンプルを使用しても、単純なAVIを再生することはできませんでした。音は聞こえたが、ビデオは見られなかった。

開発者のマシンは64ビットのVistaです。また、運が悪かった別の64ビットVistaでも試してみました。32ビットのWin7(QT MinGW)では、最終的に機能しました。しかし、そのMediaPlayer実行可能ファイルとそのdllを64ビットマシンにコピーして実行しようとすると、再び失敗しました。

64ビットマシンのQTフォノンに既知の問題はありますか?VLCフォノンバックエンドについても聞いたことがあります。それは解決策でしょうか?QTフォノンは、その上に商用アプリケーションを開発するのに十分成熟していますか?それとも、directshowに直接アクセスする方が賢明ですか?

ありがとう

4

1 に答える 1

2

Directshow は単なるプログラミング フレームワークまたは API です。システムにインストールされているコーデックに依存してオーディオ/ビデオ ストリームを解凍するため、すべてのコンピュータで可能なすべてのビデオ フォーマットを再生できることを保証するものではありません。ある特定の形式のコーデックは、あるシステムでは利用できても、別のシステムでは利用できない場合があります。その上、64 ビット モードで構築されたコーデックは 32 ビット アプリケーションから使用できず、その逆も同様であるため、64 ビット アーキテクチャはさらに複雑になります。32 ビットの Phonon プレーヤーで発生している問題は、欠落している、または「32 ビットと互換性がない」コーデックが原因である可能性が非常に高いです。
一方、VLC は自己完結型のアプリケーションであり、DirectShow やシステムにインストールされているコーデックには依存しないため、DirectShow の代わりに使用することをお勧めしますが、VLC の法的条件を読んで、あなたの目的のためにまだそれを使用できるかどうかを判断してください。

于 2011-05-08T15:09:13.650 に答える