流媒體播放器又叫流式媒體,是指邊傳邊播的媒體軟件。流媒體中的「流」指的是一種傳輸方式。流媒體播放器一般指能把視頻文件經過流式傳輸的方式在Internet播放的播放器。用戶經過一邊不斷接受數據而後一遍播放數據達到一個流媒體的傳輸方式。canvas
EasyPlayerPro是一款簡單精煉,易用,高效,穩定的流媒體播放器,支持RTSP(TCP / UDP上的RTP),RTMP,HTTP,HLS,TCP,UDP等多種流媒體協議,支持多種編碼格式的流媒體音視頻直播流,點播流,文件播放。函數
對於每一位用戶反饋、諮詢的問題,咱們通常都會盡快進行排查和解決。以前有用戶反饋有部分視頻源在全屏模式下顯示黑屏,咱們接到反饋的同時立刻協同開發人員進行檢查。編碼
通過咱們的開發檢測,發現實際上是1080P的視頻在全屏狀態下會顯示黑屏,且顯示器分辨率恰好是1080P,而且是在GDI的顯示模式下。spa
GDI顯示視頻使用的是DrawDibDraw函數, 後經調試, 是座標的問題,修改如下三行代碼:調試
SetWindowExtEx(gdiRenderObj.canvas.hDCMemRender, 1, -1, &szWindowExt); ::SetViewportOrgEx(gdiRenderObj.canvas.hDCMemRender, rcWindow.left, rcWindow.bottom, &ptOrg); //2017.11.28 rcWindow.bottom-1, 解決顯示時頂部一條黑線問題 ::SetViewportExtEx(gdiRenderObj.canvas.hDCMemRender, 1, 1, &szViewportExt);
而後在DrawDibDraw函數中將height-1(必須,不然不能正常顯示);code
BOOL bRet = ::DrawDibDraw(gdiRenderObj.hDrawDIB, gdiRenderObj.canvas.hDCMemRender, dstL,//rc.left, // dest : left pos dstT,//rc.top, // dest : top pos //-1, // don't zoom x //-1, // don't zoom y dstW, dstH-1, pbih, // bmp header info pBuf, // bmp data iSrcLeft, // src :left iSrcTop, // src :top iSrcWidth, // src : width iSrcHeight, // src : height 0//DDF_SAME_DRAW // use prev params.... );