【发布时间】:2020-07-01 10:09:48
【问题描述】:
我想在 qt webassembly 中录制声音。我使用 openal 来捕捉声音。我在桌面版本中成功使用了此代码,但在 webassembly 版本中它无法正常工作。
ALenum errorCode=0;
ALuint helloBuffer[16], helloSource[1];
ALCdevice* audioDevice = alcOpenDevice(NULL); // Request default audio device
errorCode = alcGetError(audioDevice);
ALCcontext* audioContext = alcCreateContext(audioDevice,NULL); // Create the audio context
alcMakeContextCurrent(audioContext);
errorCode = alcGetError(audioDevice);
alGetError();
ALCdevice *device = alcCaptureOpenDevice(NULL, SRATE, AL_FORMAT_MONO16, SSIZE);
if (alGetError() != AL_NO_ERROR) {
return 0;
}
alcCaptureStart(device);
int i=0;
while (i<100) {
i++;
alcGetIntegerv(device, ALC_CAPTURE_SAMPLES, (ALCsizei)sizeof(ALint), &sample);
alcCaptureSamples(device, (ALCvoid *)buffer, sample);
if(sample >0)
{
datarecord.push_back(buffer);
}
}
【问题讨论】:
标签: qt webassembly openal