視頻播放器最小化後,軟體還在進行視頻「解碼」嗎?
01-07
還是只解碼聲音了?
類似的,在一個網頁里,滾出當前窗口顯示的flash視頻、GIF圖片等還在播放嗎?
看播放器設計,很多實現比較細的播放器會停止視頻流,但這種你會注意到重新把畫面拿出來的時候有很大概率卡頓一下。
至於Flash,它不是一個解碼過程。Flash本質是一個程序,只是能像視頻一樣放在播放器里播放。
GIF,本質是一組圖片和播放腳本,也是不需要真正意義上的解碼的。是的。設計一個能在後台繼續播放但是不解碼的播放器,是比較複雜的。單單demux+parse來扔掉過期的stream是一種可能的實現方式。問題是恢復窗口後,如何找回需參考的video frame和audio sample,是個非常頭疼的問題。
另外,很多系統都需要preview的功能,比如你把滑鼠放在windows任務欄上會自動彈出一個小的視頻預覽窗口,或者按下alt+tab鍵也會有。如果不解碼,那這個預覽窗口會比較丑。
所以,如果非要節省資源,那麼最小化窗口意味著pause,而恢復窗口代表resume。當然,這種實現方式已經算是比較人性化了,大多的播放器都懶得處理最小化窗口的事件的。你沒有觀察時它處於量子狀態,可能在繼續解碼也可能沒有,你一旦看它就坍縮到特定狀態了。
在手機端而言,切到後台後既可以繼續解碼播放也可以不解碼播放,後台視頻渲染可以使用一些操作系統提供的介面而不是OpenGL
推薦閱讀:
※windows 下如何讓一個窗口置頂?
※當系統提示文件被佔用時,為何不順便告訴用戶文件被什麼進程佔用呢?
※Windows下如何定位查看未知窗口進程?
※Windows 內存釋放軟體的原理是什麼?
※Windows XP 進程 PID 的範圍?為什麼會出現特別大的 PID?
TAG:軟體 | MicrosoftWindows | 計算機 |