【发布时间】:2020-09-07 21:01:06
【问题描述】:
所以我在 C# Visual Studio 中编写了一个莫尔斯电码翻译器,它接受输入文本,然后将其作为莫尔斯电码保存到一个文本文件中。但是,我正在尝试编写代码来播放每个字母的声音,通过我的 Visual Studio 项目中的每个字母的 .wav 文件来实现这一点。在这段代码中,我有一个将英文字母单词与其各自的摩尔斯电码字母相匹配的翻译器,我正在尝试让各自的 .wav 文件与翻译后的字母一起播放。
代码如下:
private static void InitializeDictionary()
{
_morseAlphabetDictionary = new Dictionary<char, string>()
{
{'a', ".-"},
SoundPlayer snd = new SoundPlayer(@"C:\Users\keife\source\repos\MorseCodeTranslator\MorseCodeTranslator\AnyConv.com__A_morse_code.wav");
snd.Play();
{ 'b', "-..."},
{'c', "-.-."},
{'d', "-.."},
{'e', "."},
{'f', "..-."},
{'g', "--."},
{'h', "...."},
{'i', ".."},
{'j', ".---"},
{'k', "-.-"},
{'l', ".-.."},
{'m', "--"},
{'n', "-."},
{'o', "---"},
{'p', ".--."},
{'q', "--.-"},
{'r', ".-."},
{'s', "..."},
{'t', "-"},
{'u', "..-"},
{'v', "...-"},
{'w', ".--"},
{'x', "-..-"},
{'y', "-.--"},
{'z', "--.."},
{'0', "-----"},
{'1', ".----"},
{'2', "..---"},
{'3', "...--"},
{'4', "....-"},
{'5', "....."},
{'6', "-...."},
{'7', "--..."},
{'8', "---.."},
{'9', "----."}
};
}
但是,代码会产生这个错误:
'SoundPlayer' 是一种类型,在给定的上下文中无效
任何建议如何正确格式化?非常感谢。
修改后的代码
{'a', new MorseMapping(".-",
@"C:\Users\keife\source\repos\MorseCodeTranslator\MorseCodeTranslator\AnyConv.com__A_morse_code.wav")},
_morseAlphabetDictionary['a'].Player.Play();
【问题讨论】:
-
您将该代码放入集合初始化程序中。那不是那些工作的方式。您需要拥有另一个将字符与声音相关联的字典,或者在该字典中具有将字符与莫尔斯电码 和 声音相关联的数据结构。 播放声音完全在另一个页面上。
-
您的声音播放器只能播放 1 个文件吗?一个实例一个文件?
-
欢迎来到 Stack Overflow。您可以考虑将帮助您解决问题的答案标记为已接受。我也在谈论您在 StackOverflow 上发布的其他问题。 Here is shown how to do it。快乐编码
标签: c# visual-studio morse-code