我正在寻找处理从右向左移动的文本的最佳方式。
所以,我有这个工作代码:
// write text for simulation view
File.WriteAllText("text1.txt", textBox1.Text, Encoding.UTF8);
// delete temporary processed video with overlayed text
ProcessFileOperations.deleteFile("text1.avi");
ProcessFileOperations.overlayText(text1ColorButton.BackColor.Name, filePath, 0);
mediaPlayer.URL = "text1.avi";
mediaPlayer.Ctlcontrols.play();
这会创建一个带有重叠滚动文字的视频,并立即将其作为模拟播放。当我快速写入文本时,问题就出现了,因为windowmediaplayer是"正在下降"一段时间 - 黑色图像。如何让用户放置文本和更新媒体文件有一些延迟或暂停不要"冻结"主线程?
答案 0 :(得分:1)
这使得更改运行另一个线程,并且一旦完成的媒体播放器运行新文件
await Task.Run(()=>{
// write text for simulation view
File.WriteAllText("text1.txt", textBox1.Text, Encoding.UTF8);
// delete temporary processed video with overlayed text
ProcessFileOperations.deleteFile("text1.avi");
ProcessFileOperations.overlayText(text1ColorButton.BackColor.Name, filePath, 0);
});
mediaPlayer.URL = "text1.avi";
mediaPlayer.Ctlcontrols.play();