我使用用c#编写的webservice来公开存储在数据库中的音频文件(mp3文件)的bytearray(使用实体框架)。
当我在c#中检索它并使用File.WriteAllBytes()将其保存到文件中时,我可以收听音频(文件大小为10kB)。
我需要对Qt做同样的事情。我解析xml并将音频字节数组保存到QByteArray,如下所示:
QByteArray bytes = readValue().toUtf8();
其中readValue()是QStringRef,然后我将其保存到文件
qint64 bytesWritten = file.write(bytes);
文件是14kB然后,我想有一些格式问题但不确定在哪里。
答案 0 :(得分:0)
我解决了这个问题。在webservice中,我将字节数组转换器返回到十六进制字符串
string hex = BitConverter.ToString(ba);
string hexString = hex.Replace("-", "");
然后在Qt我解析数据
QByteArray bytes = QByteArray::fromHex(readValue().toString().toLatin1()));
并将其保存到文件
qint64 bytesWritten = file.write(bytes);