問題タブ [qbuffer]

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.

0 投票する
2 に答える
1624 参照

c++ - void ポインタからの QBuffer とメモリ サイズ

void * dataとから C++ Qt5.6 で QBuffer を作成する最もシンプルでエレガントな方法を探していますlong data_size

void を char ポインターにキャストし、 をQByteArray::fromRawData()使用QDataStreamしてQByteArray. どちらの場合も、私は成功しませんでした。

0 投票する
1 に答える
790 参照

c++ - RAWオーディオを再生するQtバッファアンダーラン

void * data保存されている長さのオーディオを再生しようとしましdata_sizeたが、「バッファ アンダーフローが発生しました!」というメッセージが表示されます。

0 投票する
1 に答える
399 参照

c++ - QtAV とバッファーのクリーニング

バイト配列からのビデオ ストリーミングを許可するアプリケーションを Qt で作成しています。ビデオ出力コンポーネントとして、QtAV ( http://www.qtav.org/ ) を使用しています。私の場合、このコンポーネントの入力は、私のデータを持つ QByteArray を持つ QIODevice (QBuffer) です。QByteArray 内のデータをストリーミング中に入れますが、まだ読み取ったデータを削除する方法がわかりません。私の問題は、しばらくすると QByteArray の次元が非常に大きくなり、割り当てられたメモリを減らす方法がわからないことです。

ありがとうございました

アンジェロ

0 投票する
1 に答える
765 参照

qt - QBuffer は QByteArray の末尾ではなく先頭にバイトを書き込みます

次のコードがあります。

バイト配列の内容をコンソールに出力すると:

コンソールに次のように出力されます。

上に見られるように、2タイプquint32の は、 のリトル エンディアン 16 進値で正しく表現されますが、バイト配列の末尾ではなく先頭0x02000000に追加されます。バイト配列の末尾に値を追加するにはどうすればよいですか?

0 投票する
1 に答える
1334 参照

c++ - QTextStream を介して QBuffer との間で繰り返し書き込みと読み取りを行う

QBufferを介してオブジェクトとの間で繰り返し書き込みと読み取りを試みていますQTextStream。まず、両方のオブジェクトを構築します。

次に、情報の 3 つの異なる部分を書き、それらを読み返します。

もちろん、直前に書いたデータ部分は取得しませんが、累積されたデータは次のとおりです。

正しいデータを取得するためにアダプティブ シーク コールを実行できますが、無限に拡大することは望ましくありませんQBuffer

s.reset()書き込みの間に呼び出しを試みましたが、結果は同じです。reset()バッファに対してoropen()/close()を直接呼び出すと、不自由な結果が得られます (ストリームがバイパスされるため、これは予想されます)。

おそらくサイクルごとに新しいバッファを作成し、それを開いてストリームにアタッチすることはできますが、それは遅いです。

このユースケースに適した迅速な解決策はありますか?