<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 消費電子 > 設(shè)計應(yīng)用 > 多流媒體播放器ActiveX控件開發(fā)

          多流媒體播放器ActiveX控件開發(fā)

          作者: 時間:2010-09-03 來源:網(wǎng)絡(luò) 收藏
          經(jīng)過一段時間開發(fā)后,發(fā)現(xiàn)每個Filter的PIN輸出和PIN輸入只能是單個的。一個播放器只能對一個流文件進(jìn)行編碼/解碼。因此,不能通過這種方式實現(xiàn)多個畫面的播放。
          對圖2進(jìn)行了改進(jìn),圖3為改進(jìn)后系統(tǒng)結(jié)構(gòu)圖。

          本文引用地址:http://www.ex-cimer.com/article/166611.htm

          這種方式是在一個播放器的外殼下,包含了多個播放器,實際上每一個視頻窗口都是一個獨立的視頻播放器。多個媒體在同一外殼的播放器下播放,外形上是一個播放器,內(nèi)部是由多個播放器在播放,通過設(shè)置一些應(yīng)用屬性,可以很方便地實現(xiàn)播放的控制功能。
          3.3 播放器的播放流程
          播放器的播放流程為:打開多流播放器,加載媒體控制文件,判斷窗口個數(shù),將媒體流的url的值、同步時間賦給各個窗口,同步技術(shù)播放控制多個視頻,顯示視頻,當(dāng)用戶進(jìn)行控制時,反饋用戶,播放完畢。圖4為播放器的播放流程圖。

          3.4 流媒體播放器采用的同步方法、模型、解決技術(shù)
          本文開發(fā)的多流媒體播放器支持4個流媒體,同步模型采用圖1所示之模型,用戶交互操作采用分層同步法,時間無關(guān)的媒體流之間采用分層同步法,時間有關(guān)的媒體流之間采用時間戳同步法,單個媒體流采用緩沖控制同步法。同步解決技術(shù)將前文所述3種方法相融合,借用2.3節(jié)中第3種同步技術(shù),由播放器解碼文件中的同步信息協(xié)調(diào)4個流媒體之間的同步播放,同時利用文本文件記錄同步信息和跟蹤跳轉(zhuǎn)時間以實現(xiàn)多個流媒體之間同步。具體同步解決技術(shù)是:4個流媒體在打開流媒體時,同步讀取時間頭,在流媒體開始播放時進(jìn)行同步,然后利用文本文件記錄的同步信息,以流媒體1為參考時間軸,其他的流媒體通過函數(shù)每1 000 ms檢測一次同步信息,如果發(fā)現(xiàn)多個流媒體播放時間點與文本文件中記錄同步信息一致,則無需同步,反之按文本文件記錄的同步信息進(jìn)行調(diào)整[5-6]。
          3.5 流媒體播放器核心程序
          (1)讀取同步點(用數(shù)組保存同步信息點)
          Open sycFile For Input As #1
          Line Input #1, sycQt
          ReDim WMP1time(sycQt),WMP2time(sycQt),WMP3time(sycQt),
          WMP4time(sycQt)
          For i=1 To sycQt
          Input #1,WMP1temp,WMP2temp,WMP3temp,WMP4temp
          WMP1time(i)=WMP1temp
          WMP2time(i)=WMP2temp
          WMP3time(i)=WMP3temp
          WMP4time(i)=WMP4temp
          Next i
          Close #1
          sycponit=1

          tcp/ip相關(guān)文章:tcp/ip是什么




          關(guān)鍵詞: 音頻

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();