2

我正在制作一个字母程序,如果您输入“AB 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 语句并在每种情况下手动键入之外,是否有更好的方法来处理大量声音文件?

4

1 回答 1

7

如果您word始终保证与您的文件名匹配,则可以删除整个switch块并将其替换为

uriQueue.Enqueue(new Uri("Assets/" + word + ".wav", UriKind.Relative));

否则,您可以使用

Dictionary<string,string> d;

你用字母作为键和路径作为值填充,然后使用

uriQueue.Enqueue(new Uri(d[word], UriKind.Relative));
于 2013-01-27T02:17:24.033 回答