0

大家
好,我写了一个显示 avi 文件的短程序。我需要程序在电影运行时(而不是结束后)从键盘获取输入:这是我的代码:

图('菜单栏','无')
设置(gcf,'颜色','白色')
设置(gca,'颜色','白色');
设置(gca,'XColor','白色');
设置(gca,'YColor','白色');
m=aviread('c:/t1.avi')
a=30:1:100;
b=100:-1:30;
c=[ababababab] %来回运行影片
movie(m,c) %运行影片

谢谢你的任何帮助
爱丽儿

4

4 回答 4

1

也许您可以将视频插入 UIPanel(或其他合适的 GUI 项)并使用 KeyPressFcn 回调。看看这个:回调排序和中断(我不知道它是否可以工作,但它可能值得一试)。

于 2011-01-19T12:57:15.030 回答
0

据我所知,MATLAB 中的多线程或并行处理能力是有限的;但是,似乎有补救措施。本文介绍了结合使用 MATLAB 和 C++ 代码以及使用 MEX 文件。

现在我不得不承认我从未尝试过这个,所以我不能真正声称它会在你的情况下工作,但这将是一个很好的起点。

于 2011-01-19T10:53:38.717 回答
0

除非movie()设计用于监视输入,否则我认为您将不得不使用多线程,从其他答案之一听起来有点复杂。

您可以播放一小段视频,然后运行代码来检查输入,然后播放视频的下一位。我不确定您是否可以指望用户在视频播放进入输入缓冲区时输入的内容。

于 2011-01-19T12:58:03.547 回答
0

解决方案是使用 winopen('c:/filename.avi')

winopen('c:/filename.avi')
此命令打开媒体播放器并在 matlab 脚本中运行以下命令。它不等待电影结束。它在后台运行。
感谢每一位
爱丽儿

于 2011-01-19T16:59:51.423 回答