0

我制作了一个用户控件来播放带有滑块的 MP3,这样当我使用两个或更多用户控件时,我可以播放 MP3 并使用滑块来降低每个 MP3 的音量。使用 WaveOut() 本身的音量控制有效,但随后所有 UserControls 的音量上下波动。所以我找到了我应该使用 SampleChannel 并在那里设置音量的地方:BINGO。但是现在,当我用耳机听的时候,把电脑上的耳机音量设置为100%,音量比不使用SampleChannel要低很多....奇怪

    private void slider1_Scroll(object sender, ScrollEventArgs e)
    {
        if (_inputStream != null) _inputStream.Volume = sliderVolume.Value / 100f;
    }

    private Mp3FileReader _fileStream;
    private SampleChannel _inputStream;
    private WaveOut _player;

    private void button1_Click(object sender, EventArgs e)
    {
        _fileStream = new Mp3FileReader(_path);
        _inputStream = new SampleChannel(_fileStream) {Volume = sliderVolume.Value / 100f};

      
        _player = new WaveOut();
        _player.Init(_inputStream);
        _player.Play();

        //player.PlaybackStopped += _player_PlaybackStopped;
    }
4

0 回答 0