如何用Phonon播放音频CD?

时间:2012-07-03 10:50:35

标签: qt phonon cd-rom

我正在尝试在Windows下播放带有声子的音频CD。我使用Qt 4.8.0。

我运行的代码如下:

QString filepath = QString("E:\\")
myMusic = Phonon::createPlayer(Phonon::MusicCategory, Phonon::MediaSource(Phonon::Cd, filepath));
myMusic->play();

日志窗口和任何声音都有任何错误。磁盘也不会在驱动器中旋转。

那么有没有选择用声子播放音频CD?如果是,我该如何选择合适的音轨?

P.S。 MP3播放没有问题

1 个答案:

答案 0 :(得分:0)

好的,我想我已经解决了这个问题。目前我的代码如下:

Phonon::MediaObject *myMusic = Phonon::createPlayer(Phonon::MusicCategory,Phonon::MediaSource Phonon::Cd, QString("E:\\")));
Phonon::MediaController myMediaController(myMusic);
myMediaController.setAutoplayTitles(true);
myMediaController.setCurrentTitle(7);
myMusic->play();

“E:\”是带有插入音频CD的CD驱动器,我播放第8首曲目(曲目计数从零开始)。

我的Windows 7系统上的其他问题是Phonon警告:

unable to load the TOC from the CD

此问题与Phonon Windows后端有关。某些Windows系统没有安装CDDA编解码器(或者那是什么东西)。在这种情况下,Phonon应用程序将不播放音频CD光盘。您将看不到任何错误(除了上面的内容),并且不会有任何CD驱动器活动。

要解决此问题,您应该:

  1. 为您的系统下载适当的cddareader.ax(我在http://sourceforge.net/projects/mpc-hc/files/上使用了MPC HomeCinema Standalone Filters)
  2. 打开命令行并执行regsvr32.exe cddareader.ax
  3. 重新启动
  4. 此代码在WinXP x86和Win7 x64上进行测试。 Linux机器播放音频CD没有问题(具有不同的cource路径)

    希望这些信息有用