0

我正在尝试在 Windows 下使用 phonon 播放音频 CD。我使用 Qt 4.8.0。

我运行如下代码:

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

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

那么是否可以选择使用声子播放音频 CD?如果是,我该如何选择正确的轨道?

PS MP3 播放没有问题

4

1 回答 1

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 系统上的其他问题是声子警告:

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. 重启

此代码在 WinXP x86 和 Win7 x64 上测试。Linux机器播放音频CD没有问题(使用不同的路径)

希望这些信息有用

于 2012-07-06T19:39:05.703 回答