我需要使用您从文件对话框中选择的文件中的特定文件。
OpenFileDialog ofd = new OpenFileDialog();
private void pictureBox23_Click(object sender, EventArgs e)
{
ofd.Filter = "WAV|*.wav";
this.ofd.Multiselect = true;
if (ofd.ShowDialog() == DialogResult.OK)
{
label23.Text = ofd.SafeFileName;
}
else
{
label23.Text = "No files selected...";
}
}
我需要做的是选择并使用我预先定义的文件,所以如果我用01.wav定义一个事件,如果用户选择一个名为01.wav的文件,那么将使用这样的文件:
using (SoundPlayer player = new SoundPlayer(Beatpadpc.Properties.Resources._01))
{
player.Play();
}
我目前已经对它进行了调整,因为它将从资源中播放它,我需要做的是从文件选择中播放文件,但仅当文件名为“01”.wav
有办法吗?
答案 0 :(得分:0)
好吧,只需过滤名为Filenames的ofd属性。
OpenFileDialog ofd = new OpenFileDialog();
string strAudioFilePath = String.Empty;
private void pictureBox23_Click(object sender, EventArgs e)
{
ofd.Filter = "WAV|*.wav";
this.ofd.Multiselect = true;
if (ofd.ShowDialog() == DialogResult.OK)
{
// Here you make a small filter with linq
label23.Text = strAudioFilePath = ofd.FileNames.FirstOrDefault(x => x.EndsWith("01.wav")); // you change 01.wav to something that make more sense to you
}
else
{
label23.Text = "No files selected...";
}
}
然后,如果你想摆脱你的资源文件,只需给你的声音播放器提供文件的路径即可。
SoundPlayer simpleSound = new SoundPlayer(strAudioFilePath);
simpleSound.Play();