我正在创建一个 C# 应用程序,我需要在其中重现一个 MP3 文件。一旦文件被完全复制(不是之前),我想执行其他方法。
问题在于,由于肯定使用了一个线程来再现声音,因此所有后续操作都会立即执行,而无需等待 mp3 文件的完整再现。
代码是:
gioco.playSound(true);
if (gioco.feedbackNao && naoConnect)
{
nao.talkNao("Bravo! Continua così.");
}
else if (gioco.feedbackVocale && speech.isFound)
{
speech.pronunciaFraseCorretta();
}
#Class UtilityGame
public void playSound(bool rispostaCorretta)
{
playerOK = new WMPLib.WindowsMediaPlayer();
playerOK.URL = Directory.GetCurrentDirectory() + "/Resources/Sound/ok.mp3";
playerOK.controls.play();
}
因此,当我尝试执行playSound
方法时,在第一行,下一条指令在声音结束之前处理。