解决 任务期间播放声音.delay

加入
2019年4月5日
消息
13
编程经验
10+
我正在使用task.delay我正在努力的项目,以前没有使用的东西。代码下面(谢谢 jmplhinney.)看起来类似于这个:

公共静态异步任务键入(字符串文本,标签LBL){
lbl.Visible = true;
等待任务.Delay((text.length / 3)* 1000); //普通人类型3个字符一秒。这样做,我可以暂停平均长度
//时间键入显示的文本。
lbl.Visible = false
}

这在暂停执行时完美地工作。暂停所作的是什么可以使标签可见,说明用户正在键入。延迟后,隐藏标签并执行继续执行。

在暂停期间,我能播放一个WAV文件吗?在暂停期间,我有一个像有人打字一样听起来那样的手。
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,731
地点
悉尼,澳大利亚
编程经验
10+
I haven't tested this but I would think that you should be able to create a SoundPlayer object and call Play or PlayLooping before calling Task.Delay. You can call Stop after Task.Delay.
 
加入
2019年4月5日
消息
13
编程经验
10+
抓住,我正在愚蠢。该软件要求您在我为公司工作的公司领域。现在我在家工作,我在工作中远程转向我的电脑。如果声音正在工作,我不会在家里听到它。 DUH !!!
 

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,901
地点
切萨皮克,va.
编程经验
10+
实际上,这取决于您的远程桌面客户端,如果您检查了本地播放声音的选项。例如,在mstcs.exe中,您可以获得这些选项:
521
 
加入
2019年4月5日
消息
13
编程经验
10+
所以确认的声音不起作用。

这是我正在使用的代码:

SoundPlayer SND =新SoundPlayer(properties.resources.typing);
lbl.Visible = true;
等待任务.Delay((text.length / 3)* 50);
snd.Stop();
lbl.Visible = false;

任何洞察我做错了什么?
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,731
地点
悉尼,澳大利亚
编程经验
10+
Have you actually read the documentation for the SoundPlayer class? As far as I can see, you are required to load and play the sound in two separate steps, neither of which you are performing.
 
最佳 底部