问题标签 [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.

0 投票
1 回答
2796 浏览

qt - Qt - 从 QBytearray 获取音频幅度

我正在尝试使用 Qt (c++) 创建一个程序,该程序可以使用 QAudioinput 和 QIODevice 从我的麦克风录制音频。我进行了一项研究,并想出了一个位于此页面上的示例。这个例子做我需要的。

现在,我正在尝试创建录制声音的音频波形。我想提取音频幅度并将它们保存在 QList 中。为此,我使用以下代码:

m_audioInput 是 QAudioinput | m_buffer 是 QBytearray | m_input 是 QIODevice | btlist 是 QList

我使用以下 QAudioFormat:

当我打印我的 QList 时,使用 qWarning() << btlist.at(int),我得到一些代表我的音频幅度的正数和负数。我使用 Microsoft Excel 绘制数据并将其与实际声音波形进行比较。

(根据 OP 评论进行编辑)我正在像这样在 Qt 中使用 QPainter 绘制波形

问题是我的 QList 在像这样的幅度数据之间也有很多零 (0) ,如果我将其绘制为波形,它们是一条直线,这是不正常的,因为它会损坏我的波形。我的问题是为什么会这样?这些零 (0) 代表什么?难道我做错了什么?另外,有没有更好的方法从 QBytearray 中提取音频幅度?

谢谢你。

0 投票
7 回答
137569 浏览

c++ - QByteArray 到 QString

我遇到了QByteArray和的问题QString

我正在读取一个文件并将其信息存储在QByteArray. 该文件采用 unicode 格式,因此它包含以下内容:t\0 e\0 s\0 t\0 \0 \0

我正在尝试将此值与我指定的值进行比较,但它失败了,因为在调试器中我看到它不是 unicode 字符串。

代码将解释一切:

在调试器中,它向我显示该变量Data具有 value"t\0 e\0 s\0 t\0 \0 \0"并且myValue具有 value "test"。我该如何解决?

0 投票
2 回答
797 浏览

c++ - 使用 QByteArray 中的 libjpeg 加载 jpeg 图像纹理

嗨,我有一个从 QNetworkReply 获得的 jpeg 图像的 QByteArray。我到处都能看到从文件中读取并解压缩的 jpeg 图像,

然后

但是我如何从 QByteArray 而不是文件/stdio 流中读取它?

0 投票
2 回答
917 浏览

c++ - QByteArray 数据格式说明

我对 QByteArray 数据感到困惑。有人可以为我解释以下情况。 在此处输入图像描述

这里每个数组索引的数据类型是 char。我理解其中的一些价值观。就像74 'J' 我理解的第一个是 ASCII 和第二个是相应的字符。但是什么意思-1 '\\377'

还有下面的gui是什么意思?我将上面的 QByteArray 发送到一个函数,该函数将 QByteArray 作为unsigned char* source. 下面的 gui 显示了 that 的值source在此处输入图像描述

主要令人困惑的部分是第一行的值0x87089e8 "\377\330\377\340"

0 投票
1 回答
1239 浏览

c++ - 使用 libpng 从 char 数组或 QByteArray 加载 png 图像纹理

我将图像数据作为 QByteArray。我想使用 libpng 从该数据中加载此图像的纹理。我到处都能看到从文件或输入流中读取图像纹理。但是如何从 QByteArray 加载图像?谢谢。

0 投票
1 回答
657 浏览

qt - QByteArray 的 Qt 运行长度编码 (RLE)

我想对大量冗余图像数据的 Qt QByteArray 进行运行长度编码。现在我正在使用 QByteArrays qCompress 和 qUncompress 函数,它们使用 zlib 和默认压缩参数。

谷歌搜索后,我没有发现任何第三方库或 Qt 组件似乎可以开箱即用地执行 RLE。谁能给我指点 Qt 的 RLE 编码?

谢谢 -

0 投票
1 回答
1116 浏览

c++ - Qt - 将 QString 转换为 QByteArray 的索引 - 将设备 ID 分为 3 个索引

我正在使用 QtSerialPort 通过 COM 端口将串行消息发送到 INSTEON PowerLinc 2413U 调制解调器。我可以很好地硬编码和发送消息,但是我需要使用可变设备 ID 发送相同的消息。以下是我用来发送静态消息的结构:

索引位置 2、3 和 4 表示设备 ID。在这种情况下为“1BE94B”。我的函数接受应该通过 QString 执行操作的设备 ID。

如何转换 QString 以适应 3 个索引的所需结构。我使用以下方法成功获取了 3 字节地址的每个字节:

我的目标实现是让 QByteArray 看起来像这样:

I have tried many different conversions schemes, but have been unable to resolve what I need. Ultimately my msg should be structured as:

The only way I have successfully seen the intended device action is by individually assigning each byte in the QByteArray, using msg.append() does not seem to work.

Thank you for your suggestions!

0 投票
1 回答
898 浏览

qt - 图像宽度和宽度步长,现在呢?

我有一个关于使用图像宽度和宽度步长的问题。

我将尺寸和图像数据作为 QByteArray。我也有宽度步。我的问题是如何使用 widthstep 正确填充 Ipl 图像,因为我的图像宽度是 4095,它不是 8 的整数倍。我已经成功填充了宽度为 8 整数倍的图像,但现在我被困住了手头的问题。任何使用 widthstep 填充 IplImage 的通用代码都将受到欢迎和高度赞赏。:D

这是我的开关盒中起作用的部分;8 图像宽度的默认整数倍:

0 投票
1 回答
591 浏览

qt - 通过 QTcpSocket 或 QSslSocket 发送 QDataStream

我想通过 ssl 或 tcp 套接字发送序列化数据。QIODevice::write 不发送 QDataStream,而只发送 char* 和 QByteArray。

有没有办法通过套接字发送序列化数据?或者如何将 QDataStream 转换为 QByteArray?

谢谢

0 投票
2 回答
24381 浏览

c++ - 将 unsigned char[10] 转换为 QBytearray;

我已经看到了很多关于这个的问题,但到目前为止,没有一个对我有用。

我已经尝试了 2 个最常见的答案,但我得到了同样的错误。

只是一个unsigned char buf[10];

这,

或这个,

给我同样的错误,

error: invalid conversion from 'unsigned char*' to 'const char*' [-fpermissive]

有什么建议吗?

谢谢你