問題タブ [qmediaplayer]
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.
qt - Qt QMediaPlayer からストリーム データを取得する
以前はQMediaPlayer
オンライン mp3 を再生していましたが、バッファが完了したら mp3 データ全体をダウンロードしたいと考えています。しかし、それに関連する唯一の機能はsetMedia(const QMediaContent & media, QIODevice * stream = 0)
.
また、ストリーム ポインタを使用してデータを挿入します。だから私QReply
はその引数として使用しようとします.そしてそれは絶対に失敗します.
はmgr
QNetworkAccessManager で、source は mp3 のオンライン URL です。
私の質問は: 音楽データを取得する方法はありますか? setMedia
できますか?
- - - - - - - - - - - - - アップデート - - - - - - - -
私は返信の信号を接続し、返信に何か読むものがある最初の時間readReady
にそれを入れますが、エラーを返します。setMedia
QMediaPlayer
QMediaPlayer::ResourceError
PSQMediaPlayer::StreamPlayback
フラグを追加しました。
- - - - - - - - - - - - アップデート - - - - - - - - - - - - - -------------
コードが機能しない理由がわかりました。setMedia
関数呼び出しinertal DirectShowPlayerService::load
。そして、次のような行チェックがあります。
isSequential()
ドキュメントがあるため:
bool QIODevice::isSequential() const [virtual] このデバイスがシーケンシャルの場合は true を返します。それ以外の場合は false を返します。
シーケンシャル デバイスは、ランダム アクセス デバイスとは対照的に、開始、終了、サイズ、または現在の位置の概念がなく、シークをサポートしていません。データが利用可能であると報告された場合にのみ、デバイスから読み取ることができます。シーケンシャル デバイスの最も一般的な例は、ネットワーク ソケットです。Unix では、/dev/zero や fifo パイプなどの特殊ファイルはシーケンシャルです。
一方、通常のファイルはランダム アクセスをサポートしています。これらにはサイズと現在位置の両方があり、データ ストリーム内での前後のシークもサポートしています。通常のファイルはノンシーケンシャルです。
とうとうネットワークリプライはこの状態では使えません。:-(</p>
したがって、私のさらなる研究は、Qt がネットワーク ソケットをどのように処理するかということです。データを取得する方法はありますか?
- - - - - - - - - アップデート - - - - - - - - - - -
にQMediaPlayer
基づいてGStreamer
いるようで、ソースコードのコメントにデータをダウンロードする方法がありますGStreamer
。
そして、私が見つけた唯一の有用な情報は次のとおりです。再生中のストリームをダウンロードするためのQMediaPlayer API。私を助けてください!
c++ - QMediaPlayer で特定のビデオを再生できない
一部のビデオでは問題なく動作するビデオを再生する Qt 5.3 アプリケーションがあります。残念ながら、いくつかの .mov ファイルを指定すると、QMediaPlayer::FormatError
音声が聞こえるか、音声は聞こえますが、ビデオは聞こえません。
これはコーデックが見つからないことが原因だと思いますが、ビデオを再生できるようにサポートを追加する方法はありますか?
編集:これはOS X上にあります
qt - QMediaPlaylist オブジェクトの長さを取得する
オーディオブック用のプレーヤーを作成します。mp3 ファイルのあるフォルダーを開くと、それらのリスト全体がプレイリストとリスト ビューに追加されます。そして、本全体の期間を示すと思われるラベルがあります。しかし、player->duration は現在のトラックのデュレーションのみを返し、ループを通過してプレイリスト->next() をすべてのステップで実行すると、player->duration は 0 を返します。Phonon とファイルのメタデータについては知っていますが、使用せずにこれを行います。
macos - mp3 ファイルを Qt アプリにパッケージ化する
mp3 ファイルは QMediaPlayer でリソースから取得できないことがわかったので、それらをローカル ファイルとして使用することにしました。このコマンドを少し変更して使用し、ファイルをインストール ディレクトリにコピーします。
これらのファイルは /HomeControl.app/Contents/MacOS/sound に存在していました。Qt Creator からアプリは mp3 を完全に再生しますが、ビルド ディレクトリから実行すると mp3 はまったく再生されません! 本当に理由がわからない。
Qt クリエーターでの実行とアプリからの直接実行に違いはありますか? デバッグモードか何か?
または、mp3 ファイルをバンドルに正しく展開する他の方法はありますか?
c++ - オーディオファイルの合計時間を取得するには?
オーディオファイルの合計時間を取得するには? 私はこれを試しています:
しかし、関数は常に0を返します。Windows 8で最新バージョンのQtを使用しています。
android - Android で QMediaPlayer を再生できるビデオ ファイルは何ですか?
Windows の QT Creator で QT 5.3.1 を使用しています。Examples\Qt-5.3\multimediawidgets\videographicsitem\ dir example with QMediaPlayer で見つけました。ただし、Windows では .mp4 H264 ファイルのみを再生し、.mkv H264 および .avi ファイルを再生したくありません。また、このプロジェクトは、Android 4.0.3 (API 15) で .mp4 H264 ビデオを再生したくありません (また、ビデオを再生しません)。
Android 4.0.3 (API 15) で .mp4 H264 ビデオ ファイルを再生できますか?