在頁面中控制媒體流的起播點和播放長度

來源:互聯網
上載者:User
近來在一個web項目中,客戶提出需要在試聽的音頻檔案中,輸入開始時間和結束時間,然後從開始時間播放,到結束時間停止。在google中搜尋了幾次,都找不到相關的文檔,只有自己進行研究了。
     剛開始的時候,將主要精力放在了Media Player控制項的屬性上,找到了以下幾個相關的屬性:
    CurrentPosition 返回或設定剪輯的當前位置(雙精確度型)。
    Duration 返回或設定剪輯剪輯的播放時間(雙精確度型)。
    SelectionEnd 返回或設定流的結束位置(雙精確度型)。
SelectionStart 返回或設定流的起始位置(雙精確度型)。
經過測試,通過控制CurrentPosition屬性,可以實現需要的功能。而其他三個屬性基本上不起任何作用。但是,當頁面放到遠程伺服器的時候,發現該功能不起作用了。原來在緩衝還沒到達開始播出時間的時候,是跳轉不了。
後來只能埋頭於研究Windows Media Player 9 Series SDK,發現在Windows Media Metafile Elements Reference中STARTTIME、DURATION兩個Element正是我所需要的。而要使用這兩個Element需要在asx檔案中。
asx檔案格式如下:
<ASX VERSION="3.0">
    <TITLE>Your title here</TITLE>
    <ENTRY>
        <REF HREF ="音頻檔案訪問路徑" />
        <STARTTIME VALUE="0:30.0" />
        <DURATION VALUE="00:50" />
    </ENTRY>
</ASX>
經過多次測試,方案可行。現在的問題就簡單了。就是讓使用者提交開始時間和結束時間後產生asx檔案,然後將檔案送到media player就行了。
以下是我做的訪問介面:
不過在測試過程中,發現檔案傳送過去了,但media player播放不了,奇怪了。測試發現直接用本地的media player播放是沒有問題的,那麼問題肯定是出在頁面中media player的屬性上。我將media player的參數減少到只剩下filename一個屬性,發現居然行了。然後再將autostart屬性設定為false,發現不能工作了。最後只好將autostart屬性設定為true。
最終播放器的德屬性設定如下:
<param name="AutoStart" value="true">
<param name="Filename" value="">
<param name="ShowPositionControls" value="true">
<param name="ShowStatusBar" value="true">
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.