【发布时间】:2017-10-19 17:48:41
【问题描述】:
有button_play 和button_pause。我想将它们组合成一个按钮。第一次按下歌曲时,歌曲开始播放。第二次按下 - 暂停。第三次按下时,播放继续。我做不到。
请告诉我,我该如何组合它们。
private void button_play_Click(object sender, EventArgs e)
{
if ((list_catalog.Items.Count != 0) && (list_catalog.SelectedIndex != -1))
{
string current = Vars.Files[list_catalog.SelectedIndex];
Vars.CurrentTrackNumber = list_catalog.SelectedIndex;
BassLike.Play(current, BassLike.Volume);
label_time1.Text = TimeSpan.FromSeconds(BassLike.GetPosOfStream(BassLike.Stream)).ToString();
label_time2.Text = TimeSpan.FromSeconds(BassLike.GetTimeOfStream(BassLike.Stream)).ToString();
xrewind.Maximum = BassLike.GetTimeOfStream(BassLike.Stream);
xrewind.Value = BassLike.GetPosOfStream(BassLike.Stream);
timer1.Enabled = true;
}
}
private void button_pause_Click(object sender, EventArgs e)
{
BassLike.Pause();
}
【问题讨论】:
-
那么为什么不能使用
1 Button编写代码,然后在第一个按钮上单击将文本更改为'Paused第二次单击后检查按钮的文本.Contains("Paused")然后回到“开始”并做一些额外的逻辑..我看不出这里有什么问题..?或学习正确使用布尔值.. -
基本上你想要一种方法来检查歌曲是否正在播放。理想情况下,您将拥有一种可以检查歌曲状态的方法。就像
GetIsPlaying()一样,您可以根据该函数的结果更改您的操作。简单的方法是使用 bool 属性IsPlaying跟踪状态并查询,每次按下按钮时都会翻转属性IsPlaying = !IsPlaying;并更新按钮文本