0

我对 C# 真的很陌生,并且在轨迹栏上确实有一些问题。我正在尝试通过上下调整轨迹栏来增加/减少音量。我确实有两个命令,我可以通过串行电缆使用协议发送,让它“UP”表示增加音量,“DOWN”表示减少音量。写“UP”后,你还要写多少次(nn 0-254)你想增加音量。例如“UP10”将音量增加 10。

如果你有两个按钮,这真的很容易。

void VolumeDownClick(object sender, EventArgs e)
    {
        try
        {        //writing to serial port
            serialPort.WriteLine("UP10");
        }
        catch
        { 
        }
    }

但是我如何使用轨迹栏实现相同的结果?我曾尝试使用 trackbar.Value,但没有结果。

4

3 回答 3

0

使用变量来跟踪当前值。这将用于增加或减少音量。

您所要做的就是确定增加或减少的值,您可以通过检查以前的值是什么来做到这一点,然后根据该结果发送您的 UPValue 或 DOWNValue。

于 2011-09-29T14:16:15.767 回答
0

作为一个快速猜测,但没有平台信息如果您可以获得设备当前的音量信息,那么将轨道栏中的值与实际音量结合起来将很有用。并将其存储在本地值中(也许是 lastvolume)

在 valueChanged 事件中,检索新值。然后将其与最后一个卷进行比较,如果它 > 然后发送一个 UP(currentvalue-lastvalue) 否则如果它小于 DOWN(lastvalue-currentvalue) 并将新值存储在最后一个值中。

你应该最终得到一个工作音量控制。

于 2011-09-29T14:11:39.887 回答
0

假设您将旧卷存储在名为oldVolume. 您可以使用 Trackbar 的ValueChanged事件来确定newVolume并计算difference. 然后,您可以简单地将其写入您的串行端口。

于 2011-09-29T14:12:39.503 回答