【发布时间】:2019-12-31 06:59:03
【问题描述】:
我在调试我从在线教程中写下的程序时出错,它是由 youtube 上的一个孤独的编码器制作的声音合成器。我不确定是什么原因造成的或如何解决它。我禁用了预编译的头文件,这是我遇到的第一个问题。
我尝试过在线搜索,将我带到这里以了解其他人的代码,我尝试过访问多个不和谐服务器并在那里询问。 到目前为止没有运气。这也是一个帮助我回到正轨的小练习。
Main.cpp
#include <iostream>
#include "olcNoiseMaker.h"
using namespace std;
double MakeNoise(double dTime) {
return 0.5 * sin(540.0 * 2 * 3.14159 * dTime);
}
int main() {
wcout << "onelonecoder.com - synth part 1" << endl;
//Get all sound hardware
vector<wstring> devices = olcNoiseMaker<short>::Enumerate();
//Display finding
for (auto d : devices) wcout << "Found output device:" << d << endl;
//Create sound machine
olcNoiseMaker<short> sound(devices[0], 44100, 1, 8, 512);
//Link noise function whit machine
sound.SetUserFunction(MakeNoise);
return 0;
}
olcNoiseMaker.h 只是为了访问声音芯片和 bla bla。 你可以在这里看到他的视频:https://www.youtube.com/watch?v=tgamhuQnOkM&t=134s
运行程序应该会产生一个 540 KHz 的连续正弦波 相反,它只播放一次并给我这个错误:
抛出未处理的异常:写访问冲突。 _Tgt 为 0xA4EFF82C。发生了
【问题讨论】:
-
wcout << "Found output device:" << d << endl;行的输出是什么? -
输出是:onelonecoder.com - synth part 1 找到输出设备:Speakers (Realtek High Definiti
-
您发布的代码没有问题。错误出现在您从 Internet 下载的第三方代码中(不足为奇)。由于您尚未发布该代码,因此很难提供帮助。
-
有什么办法解决吗?
标签: c++ visual-studio visual-c++ visual-studio-2017