【发布时间】:2014-09-26 22:21:39
【问题描述】:
我已经检查了 BASS 参考中的解决方案,但我没有找到它。我的音频只是不想播放,是的,我检查了我的扬声器是否正常工作。这是“代码”:
#include "stdafx.h"
#include "D:\\Libraries\BASS\c\bass.h"
#include <iostream>
#include <cstdlib>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
BASS_Init(-1, 44100, 0, 0, NULL);
BASS_SetVolume(1);
HSAMPLE sample = BASS_SampleLoad(false, "1.mp3", 0, 0, 1, BASS_SAMPLE_MONO);
HCHANNEL channel=BASS_SampleGetChannel(sample, FALSE);
BASS_ChannelPlay(channel, FALSE);
system("pause");
return 0;
}
我尝试了非常不同的初始化设置等。似乎没有任何效果。 '1.mp3' 文件位于我的“应用程序”的调试文件夹中。提前致谢!
【问题讨论】:
-
检查每个函数调用的结果。如果有任何失败,那应该告诉你出了什么问题。
-
BASS_Init 返回 'true',因此根据参考它正在工作,然而,事实证明 BASS_SampleLoad 返回 '0'。怎么样?用几个 mp3/wav 文件试了一下,结果都是一样的。
-
在 BASS_SampleLoad 调用中检查了它是哪个 BASS_ERROR 标志,它说它是 BASS_ERROR_FILEOPEN(无法打开文件)。不明白为什么,寿。参考说它支持我的文件扩展名,音乐通过另一个软播放正常。
-
当程序运行时,文件所在的位置可能不是工作目录。尝试给出完整路径。
-
不是这样的。翻了好几遍,改了目录,写了全路径,还是报错。