如何序列化QSound
How to serialize QSound?
我正在寻找一种方法来持久存储一些*.wav声音。
在我的应用程序中,我已经使用boost将几个东西序列化到一个小二进制数据库中。现在我试图将QSounds存储在这个数据库中,太,如果显然不工作。我不想把wave文件传递给exe,而是把它们编译到exe或在一个单独的数据文件中。
是否有任何方法序列化QSound或我应该尝试另一种方法?
- 有一个替代处理与c++或Qt的波文件?
- 有没有任何方法来存储和恢复这些文件,而不让他们躺在周围的波浪文件?
QSound是一个简单的类,用于播放声音,而不是用于"声音对象"(在我看来有点不幸的命名)。
您可以使用Qt资源来存储您的文件在您的exe.
QSound
比较原始。Qt声子模块有更多的功能。
您应该查看MediaObject
类(可以将字节数组作为输入),或者MediaSource
类(在序列化API之上实现自定义QIODevice
)。
Phonon是一个大模块,但可能不适合你的用例。
另一个选择是QtMultimedia
模块和QAudioOuput
类,它们也可以将QIODevice
作为数据源。
相关文章:
- 如何在C++中序列化结构数据
- 序列化,没有库的整数,得到奇怪的结果
- 如何知道QDataStream不能反序列化某些内容
- 如何使用Python从C++中读取谷物序列化数据
- 如何使用boost::具有嵌套结构和最小代码更改的序列化
- 带有Protobuf序列化的C++Hazelcast:字符串不是UTF-8格式的
- 自定义对象的dlib序列化在gcc中失败
- C++boost序列化多态性问题
- 增强基于 XML class_id的反序列化
- 提升反序列化对象具有 nan 或 -nan 值
- 在 cpp 中的平面缓冲区中序列化对象
- 每次进行继承时都需要提升::序列化::base_object吗?
- 如何在 c++ 非托管代码中反序列化 byte[] 的 json 字符串?
- 提升序列化 1:73 的向后兼容性问题
- 将 boost 序列化对象的 asio::streambuf 表示转换为 Beast 的 DynamicBody req.body()
- 为什么 nlohmann/json 序列化 "null" 而不是在 double 上"0"?
- 如何反序列化数组?
- 如何使用提升序列化?
- 序列化多晶型接口
- 如何序列化QSound