C++ 如何在简单的录音机程序中使用AudioDeviceOCallback、AudioDeviceBoutToStart和AudioDevicesToping
使用Juce,我试图从中创建一个简单的录音机。 我从一个简单的音频项目中提取了创建录音机的方法 单击开始录制按钮时,采样器仍具有默认值:C++ 如何在简单的录音机程序中使用AudioDeviceOCallback、AudioDeviceBoutToStart和AudioDevicesToping,c++,audio,audio-recording,juce,C++,Audio,Audio Recording,Juce,使用Juce,我试图从中创建一个简单的录音机。 我从一个简单的音频项目中提取了创建录音机的方法 单击开始录制按钮时,采样器仍具有默认值: void startRecording(const File& file) { stop(); if (sampleRate > 0) { // Create an OutputStream to write to our destination file...
void startRecording(const File& file)
{
stop();
if (sampleRate > 0)
{
// Create an OutputStream to write to our destination file...
采样率=0.0
在AudioRecordingDemo中,AudioDeviceABoutStart会增加采样率。但我的主要组件中没有任何音频设备
void audioDeviceAboutToStart(AudioIODevice* device) override
{
sampleRate = device->getCurrentSampleRate();
}
设置输入和输出的AudioIODeviceCallback在我的代码中也从未调用过。我试图在MainComponent类中使用它,但没有成功
我还尝试使MainComponent类从AudioIODeviceCallback继承:
class MainComponent : public Component,
private AudioIODeviceCallback,
private MidiInputCallback
{
public:
//...
我在网上找到了这个方法
但是当我尝试这个时,我在主类中得到了一个覆盖错误
这就是我的问题,如何使用AudioIODeviceCallback、AudioDeviceBoutToStart和audioDeviceStopped,它们在我的项目中的AudioRecordingDemo类中定义
您可以找到源代码 我通过将AudioDeviceLocallback添加到我的MainComponent类中修复了我的问题:
void audioDeviceIOCallback(常量浮点**/*inputChannelData*/,int/*numInputChannels*/,
浮点**输出通道数据,整数输出通道,
int numSamples)覆盖
{
//缓冲
音频缓冲区(outputChannelData、NumOutChannels、numSamples);
//让它安静下来
buffer.clear();
}
源代码为最新版本: