問題タブ [qbytearray]
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 - QBytearray からオーディオの振幅を取得する
Qt (c++) を使用して、QAudioinput と QIODevice を使用してマイクからオーディオを録音できるプログラムを作成しようとしています。私は調査を行い、このページにある例を思いつきました。この例は、私が必要とすることを行います。
今、録音した音のオーディオ波形を作成しようとしています。オーディオの振幅を抽出して QList に保存したいと考えています。そのために、次のコードを使用します。
m_audioInput は QAudioinput | m_buffer は QBytearray | m_input は QIODevice | btlist は QList です
次の QAudioFormat を使用します。
qWarning() << btlist.at(int) を使用して QList を出力すると、オーディオの振幅を表す正と負の数値が得られます。Microsoft Excel を使用してデータをプロットし、実際の音波形と比較しました。
(OPコメントに基づいて編集)このようにQtでQPainterを使用して波形を描画しています
問題は、このような振幅データ間の QList にも多くのゼロ (0) が含まれていることです。これを波形として描画すると、波形が破損するため、正常ではありません。私の質問は、なぜそれが起こっているのですか?これらのゼロ (0) は何を表していますか? 私は何か間違ったことをしていますか?また、QBytearray からオーディオの振幅を抽出するより良い方法はありますか?
ありがとうございました。
c++ - QByteArrayからQString
とに問題がQByteArray
ありQString
ます。
私はファイルを読んでいて、その情報をに保存していますQByteArray
。ファイルはUnicodeであるため、次のようなものが含まれています。t\0 e\0 s\0 t\0 \0 \0
この値を指定した値と比較しようとしていますが、デバッガーでユニコード文字列ではないことがわかるため、失敗します。
コードはすべてを説明します:
デバッガーでは、変数Data
に値があり、値が"t\0 e\0 s\0 t\0 \0 \0"
であることが示されてmyValue
います"test"
。どうすれば修正できますか?
c++ - QByteArray データ形式の説明
QByteArray データについて混乱しています。誰かが私のために以下のシナリオを説明してもらえますか.
ここで、各配列インデックスのデータ型は char です。私はそれらの価値のいくつかを理解しています。私が理解しているよう74 'J'
に、最初のものはASCIIで、2番目のものは対応する文字です。しかし、の意味は何ですか-1 '\\377'
また、以下のGUIはどういう意味ですか?? 上記のQByteArrayを、QByteArrayを受け取る関数に送信しましたunsigned char* source
。以下の gui は、その値を示していますsource
。
主な紛らわしい部分は、最初の行の値です0x87089e8 "\377\330\377\340"
c++ - libpngを使用してchar配列またはQByteArrayからpng画像テクスチャをロードする
画像データを QByteArray として持っています。libpng を使用して、そのデータからこの画像のテクスチャを読み込みたいです。ファイルまたは入力ストリームからイメージ テクスチャを読み取るところはどこでも見られます。しかし、どうすれば QByteArray から画像をロードできますか?? ありがとう。
qt - QByteArray の Qt ランレングス エンコーディング (RLE)
大部分が冗長な画像データの Qt QByteArray でランレングス エンコーディングを実行したいと考えています。現在、デフォルトの圧縮パラメーターで zlib を使用する QByteArrays qCompress および qUncompress 関数を使用しています。
グーグルの後、RLEをすぐに実行できるように見えるサードパーティのライブラリやQtコンポーネントは見つかりませんでした。誰かがQtのRLEエンコーディングを教えてもらえますか?
ありがとう -
c++ - Qt - QString を QByteArray のインデックスに変換する - デバイス ID を 3 つのインデックスに分割する
QtSerialPort を使用して、シリアル メッセージを COM ポート経由で INSTEON PowerLinc 2413U モデムに送信しています。ハードコーディングしてメッセージを送信することはできますが、可変デバイス ID を使用して同じメッセージを送信する必要があります。以下は、静的メッセージを送信するために使用した構造です。
インデックス位置 2、3、および 4 は、デバイス ID を表します。この例では「1BE94B」です。私の関数は、QString を介してアクションを実行する必要があるデバイス ID を受け入れます。
必要な 3 つのインデックスの構造に合わせて QString を変換するにはどうすればよいですか。次を使用して、3バイトアドレスの各バイトを正常に取得します。
私の Target 実装は、QByteArray が次のようになるためのものです。
さまざまな変換スキームを試しましたが、必要なものを解決できませんでした。最終的には、次のmsg
ように構成する必要があります。
意図したデバイス アクションを正常に確認できた唯一の方法は、QByteArray 内の各バイトを個別に割り当てることmsg.append()
です。
ご提案ありがとうございます。
qt - 画像の幅と幅のステップ、次は?
画像の width と widthstep の使用について質問があります。
寸法と画像データを QByteArray として持っています。幅ステップもあります。私の質問は、イメージの幅が 4095 であり、8 の整数倍ではないため、widthstep を使用して Ipl イメージを適切に設定する方法です。目前の問題。widthstep を使用して IplImage を設定する一般的なコードは歓迎され、高く評価されます。:D
これが機能する私のスイッチケースの一部です。デフォルトの画像幅の 8 の倍数:
qt - QTcpSocket または QSslSocket を介して QDataStream を送信する
シリアル化されたデータを ssl または tcp ソケット経由で送信したい。QIODevice::write は QDataStream を送信せず、char* と QByteArray のみを送信します。
シリアル化されたデータをソケット経由で送信する方法はありますか? QDataStream を QByteArray に変換するにはどうすればよいですか?
ありがとう
c++ - unsignedchar[10]をQBytearrayに変換します。
私はこれに関してたくさんの質問を見てきましたが、今のところ私には何もうまくいきませんでした。
最も一般的な2つの答えを試しましたが、同じエラーが発生します。
ただであるunsigned char buf[10];
これ、
またはこれ、
同じエラーが発生しました、
error: invalid conversion from 'unsigned char*' to 'const char*' [-fpermissive]
何かアドバイス?
ありがとうございました