繁体   English   中英

如何序列化QSound?

[英]How to serialize QSound?

我正在寻找一种持久存储* .wav声音的方法。

在我的应用程序中,我已经使用boost将一些东西序列化到一个小的二进制数据库中。 现在,我也试图将QSounds存储在该数据库中,如果显然无法正常工作的话。 我不想将wav文件传送到exe,而是将它们编译到exe或单独的数据文件中。

有什么方法可以序列化QSound还是应该尝试其他方法?

  • 有使用C ++或Qt处理wav文件的替代方法吗?
  • 是否有任何方法可以存储和还原这些文件而又不会将它们作为WAV文件摆在身边?

我经常使用boost序列化,所以我的第一个想法就是也将它们用于那些文件。 也许有人可以给我一些提示,让我了解一下。

QSound是相对原始的。 Qt Phonon模块具有更多功能。

您应该查看MediaObject类(可以将字节数组作为输入),或者应该查看MediaSource类(在序列化API之上实现自定义QIODevice )。

声子是一个很大的模块,可能不适合您的用例。

另一个选择是QtMultimedia模块和QAudioOuput类,它也可以将QIODevice用作数据源。

QSound是一个用于播放声音的简单类,而不是用于“声音对象”的类(在我看来,这有点不幸)。

您可以使用Qt资源将文件存储在exe中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM