問題タブ [qtmultimedia]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Mac OS (10.9) での暗号化を使用したカスタム QIODevice からの QMediaplayer ストリーミング
現在、アプリケーションを Qt4(.8.4) から Qt5(.2.0) に移植しています。非推奨の toAscii() 関数、QtGui の欠落など、既知のすべての変更をほぼ完了しました。現在、フォノン フレームワークを使用する音楽プレーヤーがありましたが、これはサポートされなくなり、QMediaPlayer と一連の Audio-Handling クラスを含む QtMultimedia モジュールに置き換えられました。
プレーヤーの実装は、カスタム QIODevice を取ります。このデバイスは、ディスク上の暗号化されたオーディオ ファイルへのインターフェイスを提供します。プレーヤーはデバイスに x バイトを要求し、デバイスは暗号化されたファイルから読み取り、プレーヤーが要求したバイトを復号化して返します。
マルチメディア モジュールで IODevice を再利用する関数を検索したところ、次の関数が見つかりました。
そしてそれを次のように使用しました:
ここで、m_pDecryptingMediaDevice は QIODevice サブクラスで、m_pPlayer は QMediaPlayer です。
現在、Windows ではすべてが期待どおりに動作します。QMediaplayer はその MediaStatus を QMediaPlayer::LoadingMedia に変更し、デバイスにバイトを要求します。次に、QMediaPlayer::State PlayingState に変更され、ステータスが BufferedMedia に設定されます。すべて順調。残念なことに Mac OS (10.9.1) では QMediaPlayer::PlayingState しか取得できず、それ以上は取得できません。プレーヤー/オーディオバックエンドはデバイスにバイトを要求することはなく、他の関数を呼び出すこともありません。間違いがカスタム QIODevice に関係しているとは思いませんが、プレーヤーがバイトを要求したり、デバイス上の関数を呼び出したりすることさえないため、QMediaPlayer に与えられる方法にあります。
私はそれを小さなテストプロジェクトに分解しようとしました:
不思議なことに、これはまったく再生されません - Windows でも Mac OS でもありません。常に機能するのは、次のようにプレーヤーに URL を与えることです
関数 setMedia(const QMediaContent & media, QIODevice * stream = 0) を使用して QIODevice から QMediaPlayer にストリーミングすることによると、同様のケースで誰か経験がありますか? 私はこれで立ち往生しています。
よろしくお願いいたします。
1月
qt - ビデオのフルスクリーン モード
QML ビューに埋め込まれたビデオ出力があります。正常に動作していますが、クリックしたときにそのビデオ出力を全画面表示にしたいと考えています。
毎回、ビューにあるいくつかの画像 (兄弟のものとそうでないもの) が私のビデオの上に表示されます。実際、それはルート要素を満たし、フロントスクリーンにあるはずです。プロパティを変更しzても何も起こりません。
動画を全画面表示にする一番のコツは何ですか? 通常から全画面表示に切り替えると、ビデオは中断することなく流れを継続するはずです。
XML ファイルを解析して QML を構築するため、QML のみ (C++ を使用しない) のソリューションが望ましいでしょう。
c++ - QAudioDeviceInfo が Ubuntu でデフォルトのオーディオ デバイスを検出しない
QAudioDeviceInfo クラス リファレンスから基本的な例を実行しようとしていますが、Qt がデフォルトのオーディオ デバイスを見つけられません。
このコードを実行すると、出力が表示されません。
Ubuntu 13.10 で Qt 5.0.2 を使用して Qt Creator 2.7.1 を実行しています。Qt Multimedia は 経由でインストールされapt-getました。私のプロファイルファイルにはQT += multimedia. 私のヘッダーファイルには以下が含まれます:
私が間違っているかもしれないことについてのアイデアはありますか?
volume - デシベルでの QMediaPlayer とボリューム コントロール
音楽プレーヤーを Qt4 から Qt5 に書き直しています。Phonon から QtMultimedia に切り替えました。私は今、ボリュームコントロールに深刻な問題を抱えています。ReplayGain をサポートするために、私はメディア ファイルからタグを読み取り、すべてのトラックで音量を変更して均等に保ちます。
フォノンでは、タグに格納されているボリュームの差が dB 単位であるため、setVolumeDecibel を使用します。しかし、QtMultiMedia では使用できません。QMediaPlayer クラスには setVolume 関数しかありません。音量をdBで制御する方法は他にありますか? 内部での setVolume の計算は何ですか? たぶん、音量をdBで設定するためにそれを逆にすることができます.
または、私が何をすべきか他のアドバイスはありますか?
c++ - QML でのビデオの再生方法
私はqmlが初めてです。ビデオがqmlでどのように再生されるかを知りたいです。バックエンドでのビデオの処理方法 (ビデオの再生を担当するクラスとモジュール)。QML でビデオを再生するカスタム プレーヤーを追加するにはどうすればよいですか? これに関する文書はありますか?ビデオ再生用の qt-plugin を作成するためのチュートリアルはありますか。
どこから調べたらいいのかわからない?助けてください。前もって感謝します。
c++ - QAudioDecoder - サービスが見つかりません
QAudioDecoderクラスを使用して.wavファイルをデコードしようとしています。追加してQtMultimediaモジュールを.proファイル
に含めたにもかかわらず、QAudioDecoderのサービスが見つからないというエラーが表示されます。問題がどこにあるのかわかりません。QT += multimedia
Windows 7でMingGW 4.8 32ビットでQt 5.1.0を使用しています。
エラーメッセージ:
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.audiodecode"
.proファイル:
メインファイル:
arm - アームで qt5 を実行する際の gstreamer-critical
マルチメディア サポート用に、arm コンパイラを使用して Qt-5.xx をクロスコンパイルしました。gstreamer を使用してメディアサービス プラグインを構築できました。それは:
マルチメディアを使った一例をまとめました。機内で実行しようとしました。次のエラーが表示されました。
UIが出てきます。しかし、オーディオは再生されません。私は何が欠けていますか?
c++ - Qtでオーディオ録音用のsetCodec()関数のパラメータを選択する方法
Qt で QAudioRecorder を使用して音声を録音しています。サンプル コードは次のとおりです。
しかし、 setCodec() 関数の使い方がわかりません
void QAudioEncoderSettings::setCodec(const QString & codec)
"audio/amr"使用できるパラメーター (または など"audio/x-wav") とその正確な意味を調べるにはどうすればよいですか? ありがとう!