【问题标题】:BASS library : no soundBASS 库:没有声音
【发布时间】:2015-07-28 07:24:46
【问题描述】:

我想用 BASS 库制作一个简单的 MP3 播放器。我有这个代码:

BASS_Init(-1, 44100, 0, 0, NULL);
qDebug() << BASS_ErrorGetCode();
HSTREAM stream = BASS_StreamCreateFile(FALSE,"C:/1.mp3", 0, 0, 0);
qDebug() << stream;
qDebug() << BASS_ErrorGetCode();
BASS_ChannelPlay(stream, FALSE);
qDebug() << BASS_ErrorGetCode();

这段代码编译得很好,但是当我启动我的程序时,MP3 似乎没有播放,而输出似乎正常:

0 
2952790017 
0 
0 

你有解决办法吗?

【问题讨论】:

  • Windows 中的路径不是使用反斜杠吗?这意味着您应该使用C:\\1.mp3 作为文件名。双反斜杠是为了在字符串中转义它。
  • 感谢您的回复;)我已经尝试过您所说的,但没有任何改变。另外,程序占用了 1% 的 CPU,所以它似乎在做一些事情……

标签: c++ qt bass


【解决方案1】:
  1. “C:/1.mp3”应该没问题。
  2. 您还应该检查您的标准设备(即-1)。您可以使用此代码列出所有设备(也可以将 -1 更改为您肯定使用的设备):

(从网络复制并更改以获得更好的输出)

int a, count = 0;
BASS_DEVICEINFO info;

for (a = 0; BASS_GetDeviceInfo(a, &info); a++)
{
    cout << "BASS_GetDeviceInfo " << a << ": ";
    if (info.flags & BASS_DEVICE_ENABLED)
    {
        count++;
        cout << "enabled  --> ";
    }
    else
    {
        cout << "disabled --> ";
    }
    cout << info.name << endl;
}
cout << "count: " << count << endl;
  1. 确保您的音量已设置:BASS_SetVolume(1);
  2. 等待按键并清理:

拨打BASS_ChannelPlay之后

system("pause");
BASS_Free();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 2017-03-16
    • 2017-10-19
    • 2021-04-22
    • 2016-05-06
    • 1970-01-01
    相关资源
    最近更新 更多