Я пишу консольное приложение на C#, и я хочу воспроизводить звук при непрерывном отображении текстов. Это то, что я сделал:Воспроизведение звуков на консоли - C#
static SoundPlayer typewriter = new SoundPlayer("typewriter");
static public void print(string str, int delay)
{
Thread skipThread = new Thread(skipText);
typewriter.PlayLooping();
textgap = delay;
foreach (char c in str)
{
Console.Write(c);
if (textgap != 0)
Thread.Sleep(textgap);
}
typewriter.Stop();
}
typewriter.wav
импортируется в мой проект рядом с .cs
файлов и я выбрал copy always
. Когда я запускаю этот код, появляется ошибка при запуске воспроизведения звука. Please be sure a sound file exists at the specified location.
Что здесь не так?
EDIT: Изменил мой код следующим ответом Кевина Дж.
static SoundPlayer typewritter;
public static void Load()
{
Assembly assembly;
assembly = Assembly.GetExecutingAssembly();
typewritter = new SoundPlayer(assembly.GetManifestResourceStream
("typewriter"));
}
Я должен также уточнено использовать путь Environment.CurruntDirectory + "typewriter"
, но ничего не меняется.
Он помещает файл в ту же папку, что и ваш исполняемый файл? –
@ DStanley Да, это так. – user26830
Если вы не импортировали WAV-файл в качестве ресурса, вам нужно указать точный путь вашего .wav-файла для SoundPlayer. т. е. «SoundPlayer player = новый SoundPlayer (« C: \\ bass.wav »)). В приведенном выше коде отсутствует полный путь. – Kevin