我正在制作一个字母表程序,如果你输入“A B C”并按下一个按钮,它将播放A的声音文件,然后播放B的声音文件,等等。
目前我使用队列来存储链接到声音文件的所有uri,如此
switch (word)
{
case "A":
uriQueue.Enqueue(new Uri("Assets/A.wav", UriKind.Relative));
break;
case "B":
uriQueue.Enqueue(new Uri("Assets/B.wav", UriKind.Relative));
break;
case "C":
...
除了使用非常长的switch语句并在每种情况下手动输入外,还有更好的方法可以使用大量声音文件吗?
答案 0 :(得分:7)
如果您的word
始终保证与您的文件名匹配,则可以删除整个switch
块并将其替换为
uriQueue.Enqueue(new Uri("Assets/" + word + ".wav", UriKind.Relative));
否则,您可以使用
Dictionary<string,string> d;
您将字母填充为键,路径填充为值,然后使用
uriQueue.Enqueue(new Uri(d[word], UriKind.Relative));