2015-11-05 45 views
0

我一直在一個有趣的小項目,這是一個SoundBoard &現在我偶然發現了一個小問題,我讓所有的東西都完美地工作,唯一的是我真的不知道如何添加音量控制欄,因爲我的軟件中的音量非常大(可能稱爲音量控制按鈕)。在任何情況下,它都是您可以控制軟件音量的其中一種,本質上它就像音樂播放器一樣。在C#中創建一個Soundboard聲音控制面板

有誰知道我可以嘗試尋找什麼?

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     System.Media.SoundPlayer player = new System.Media.SoundPlayer(); 
     player.Stream = Properties.Resources.cow; 
     player.Play(); 
    } 
} 

這基本上是每個按鈕的代碼。

回答

1

你在找什麼是Slider控制。您收聽ValueChanged事件並適當更改音量。

private void slider1_ValueChanged (object sender, RoutedPropertyChangedEventArgs<double> e) 
{ 
    var slider = sender as Slider; 
    double value = slider.Value; 
    // assuming media is some sort of media control object 
    media.SetVolume (value); 
} 

您可以根據最大音量設置滑塊的最大值。或者只需執行(value/slider.Maximum)即可獲得滑塊位置的百分比值,然後您可以使用volume = (value/slider.Maximum) * max_volume將音量設置爲最大值的百分比。

編輯:SoundPlayer類不支持設置音量,但SoundEffectInstance做。請參閱SoundEffectInstance MSDN article瞭解更多信息。 希望這是有幫助的。