0
Button
をクリックしてListBox
にオーディオファイルを追加します。その後、OpenFileDialog
(以下のコード)が動作します。追加されたファイルListBox
を使用して(以下のコード)再生します。私はbutton_play
をクリックします。問題があります。 listBox1.Sorted = true
を使用して並べ替えのためにButton
をクリックしたとき。ソート後、再生すべきオーディオファイルは再生されません。ソート前にこの場所にあったオーディオファイルが再生されます。つまり、すべての曲に番号が付いていた場合、ソート後に名前のみが変更されていますが、番号は変更されていません。そしてクリックするとbutton_play
が数字で演奏されます。私はこれが動作すると思いますListBoxの選択を変更します
private void button_add_Click(object sender, EventArgs e)
{
openFileDialog1.ShowDialog();
label_load.Text = list_catalog.Items.Count.ToString();
}
private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
{
foreach (String file in openFileDialog1.FileNames)
{
if (list_catalog.Items.Contains(Vars.GetFileName(file)))
{
}
else
{
Vars.Files.Add(file);
list_catalog.Items.Add(Vars.GetFileName(file));
hello.Visible = false;
}
}
}
private void button_play_Click(object sender, EventArgs e)
{
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;
}
あなたがリスト項目のインデックスとファイル名のインデックスをリンクする必要があります。いくつかの方法がありますが、パス名とソングのメタデータを持つクラスをプロパティとして作成し、このクラスでリストを作成します。並べ替えの際、クラスの任意のプロパティを使用できます。 – imqqmi