2012-06-07 87 views
1

首先,我是C#的新手,請耐心等待。在.avi文件中使用C#尋找

我提出申請,顯示在Windows Media Player這樣的.avi文件:

private void button1_Click(object sender, EventArgs e) 
    { 
     axWindowsMediaPlayer1.URL = @"C:BlaBla\Family Guy\Season 10\S10E16.HDTV.x264-LOL.avi"; 
    } 

我發現,你不能快進或快fastrewind在.avi文件,因爲它不是索引。但是使用axWindowsMediaPlayer1的WMP滑塊,您可以將文件設置爲在特定點播放。例如,啓動電影,然後將滑塊拖至05:00以跳過前5分鐘。

我想這樣做編程式,但我不知道如何?

+0

就像您在COM上設置URL屬性一樣,您必須執行相同的設置開始時間。如果有一個屬性是 – Quintium

回答

1

聲明:我從來沒有使用過。

但是,它看起來與documentation,你可以設置在這樣的視頻位置:

axWindowsMediaPlayer1.Ctlcontrols.currentPosition = 300d; 

(當該值多少秒從要導航到視頻的開頭 - 我已根據要求將其設置爲5分鐘)。

編輯:從下面的評論 - 快速前進,有一種方法爲你做。您可以檢查是否可以先做到這一點,有文檔here,我已經修改了你一個例子:

if (axWindowsMediaPlayer1.Ctlcontrols.get_isAvailable("fastForward")) 
{ 
    axWindowsMediaPlayer1.Ctlcontrols.fastForward(); 
} 

此檢查,看它是否能夠快進,然後以5倍的正常速度播放,直到你告訴它做其他事情,或者它擊中視頻的結尾,我猜!

+0

這個問題,我實際上發現了這個問題,在你回答之前幾秒鐘,但你是對的,它的工作原理!除此之外,以毫秒爲單位。所以:「axWindowsMediaPlayer1.Ctlcontrols.currentPosition = 10.745329;」 – user1285334

+0

@ user1285334我編輯了我的答案。 – Bridge

+1

謝謝橋。我知道這些函數,但它們只能用於我的.mp4文件,而不是.avi文件(正如我所說的那樣,它們沒有編入索引) 但是您可以這樣做: 「axWindowsMediaPlayer1.Ctlcontrols.currentPosition + = 5.0;」並在循環中運行。感謝幫助的人! – user1285334