我想许多应用程序都需要小的音频剪辑,因此我希望 QT 支持在内存片中播放 mp3。也许将 mp3 数据解码为内存中的 wav 数据可能是一种解决方案,但这需要时间先解码所有数据。对于实时应用,这不是一个好主意。将 mp3_data 存储在文件中并要求 QMediaPlayer 播放也没有意义,性能无法接受。
这是我在谷歌多次搜索后的代码,包括stackoverflow:
m_buffer.setBuffer(&mp3_data_in_memory);
m_player.setMedia(QMediaContent(), &m_buffer);
m_player.play();
其中 m_buffer 是一个 QBuffer 实例,而 mp3_data_in_memory 是一个 QByteArray ;m_player 是一个 QMediaPlayer 实例。
我得到了一些信息,这里的代码在 MacOS 和 iOS 中不起作用,但我现在在 Android 上运行。
谁有安卓系统的解决方案?非常感谢。