2010-01-25 85 views

回答

3

在试图与声子这样做的问题是,Phonon::MediaSource不公开与您可以指定音频格式的API - 即通道的采样率,编码和数量的PCM数据流。通常情况下,这些信息在文件头中编码(对于PCM数据文件,通常为WAV header),但由于您声明要播放“原始音频”,因此我假定您的含义是PCM样本的缓冲区。

Qt的4.6引入了一个新的,较低水平,音频的API的套件QtMultimedia模块中。您可以使用QAudioOutput播放原始音频流。请注意,对QtMultimedia APIs的支持还不如Phonon广泛,但已经有Windows,Mac和Linux(支持PULSE和ALSA音频子系统)的后端。

+0

我想这回答我的问题,谢谢。测试它需要一些时间,因为我的平台上没有4.6。 – thelinuxer 2010-01-25 15:45:26

1

您可以在加载MediaObject之后使用seek()方法。

void MediaObject::seek (qint64 time) [slot]

+0

是的想到了,我想我可以停止播放,如果我处理“滴答”信号。但我不认为如果我需要在文件中播放几个区块,它会变得很干净。 – thelinuxer 2010-01-25 15:26:06