c++ 如何在juce中使用滑块控制音量?

kh212irz  于 2023-05-08  发布在  其他
关注(0)|答案(1)|浏览(216)

我不是高级的C++,但我想在Juce中添加演示项目以供学习。例如:我想添加一个滑块到Juce AudioPlayBackDemo项目,以便它可以控制音量,但我不能得到任何结果,在我的实验。你怎么能帮我?
enter image description here如何将音量控制编码到我添加的滑块中,如图所示。
addAndMakeVisible(volslider); volslider.setRange(0.0, 1.0); volslider.setValue(1.0);
这个代码应该是什么样的?谢谢

6qqygrtg

6qqygrtg1#

可以使用addListener()方法

class VolumeSliderListener : public Slider::Listener
{
public:
    VolumeSliderListener(AudioTransportSource& transportSource) : m_transportSource(transportSource) {}

    void sliderValueChanged(Slider* slider) override
    {
        if (slider == &m_volSlider)
        {
            m_transportSource.setGain(m_volSlider.getValue());
        }
    }

private:
    AudioTransportSource& m_transportSource;
    Slider m_volSlider;
};

所以你可以创建一个VolumeSliderListner的示例,并使用addListener()方法将其添加为Slider的listner:

VolumeSliderListener listener(transportSource);
volslider.addListener(&listener);

其中transportSource是您在应用程序中使用的AudioTransportSource的示例。

相关问题