2011-01-19 31 views
0

大家好
我寫了一個簡短的程序,顯示一個avi文件。我需要的程序,以獲取從鍵盤輸入,而電影正在運行(而不是結束後): 這是我的代碼:從鍵盤得到輸入,同時用matlab顯示avi

圖(「菜單欄」,「無」)
集(gcf,'Color','white')
set(gca,'Color','white'); (gca,'XColor','white');
set(gca,'YColor','white');
m = aviread('c:/t1.avi')
a = 30:1:100;
b = 100:-1:30;
C = [ababababab]%,跑電影來回
電影(M,C)%運行電影

感謝您的幫助
阿里爾

回答

0

的解決方案是使用winopen( 'C:/filename.avi')

winopen( 'C:/filename.avi')
此命令打開媒體播放器,並運行下面的命令在matlab腳本中。它不會等待電影結束。它在後臺運行。
感謝每一個
阿里爾

0

至於我知道MATLAB中的多線程或並行處理功能是有限的;然而,它似乎有補救措施。 This article描述了結合MATLAB和C++代碼,使用MEX文件。

現在我不得不承認,我從來沒有試過這個,所以我不能說它會在你的情況下工作,但它將是一個很好的開始。

+0

謝謝,但我試圖避免並行編程 – user552231 2011-01-19 11:20:14

1

也許您可以將視頻插入UIPanel(或其他合適的GUI項目)並使用KeyPressFcn回調。 看看這個:Callback Sequencing and Interruption(我不知道它是否可以工作,但它可能值得嘗試)。

+0

我覺得這是有機會的唯一方法。 – Jonas 2011-01-20 12:58:51

0

除非movie()已被設計爲觀察輸入,我認爲你將不得不多線程,從其他答案之一聽起來有點複雜。

您可以播放短片的視頻,然後運行代碼來檢查輸入,然後播放視頻的下一位。我不確定當視頻播放到輸入緩衝區時,是否可以指望用戶輸入的內容。

相關問題