如何判斷視訊流媒體播放器EasyPlayer-RTSP-Win的磁碟空間是否滿足剩餘的要求?
阿新 • • 發佈:2020-08-06
最近很多網友諮詢播放器的問題,也就是EasyPlayer,其中EasyPlayer-RTSP播放器可以實現H264、H265編碼格式的RTSP流的播放和錄製。
這兩天有使用者問了一個關於錄影儲存的問題:如果客戶端開啟錄影,但是儲存空間不夠的話,我們如何能知道呢?
其實這個問題,我們在設計之初就考慮過,因此我們也設計了一套可以進行儲存空間提醒的程式碼,程式碼如下:
BOOL EasyMP4Writer::CheckDiskSpacePlenty(const char* strPath, float fSpace) { BOOL bSuccess = FALSE; //檢查磁碟空間 ULARGE_INTEGER nFreeBytesAvailable; ULARGE_INTEGER nTotalNumberOfBytes; ULARGE_INTEGER ulFree; float fTempFree = 0.0f; ULONG lTempFree = 0; bSuccess = ::GetDiskFreeSpaceExA(strPath, &nFreeBytesAvailable, &nTotalNumberOfBytes, &ulFree); if (!bSuccess) { printf("GetDiskFreeSpaceEx %s Failed!\n", strPath); return 2; } lTempFree = (ULONG)(ulFree.QuadPart / 1024); fTempFree = (float)lTempFree; fTempFree = fTempFree / 1024 / 1024; //GB if (fTempFree <= fSpace) { printf("磁碟空間剩餘 %f GB,不足 %f GB!\n", fTempFree, fSpace); return FALSE; } return TRUE; }
注:此程式碼中fSpace表示磁碟剩餘多少空間(單位:GB)。
這個程式碼是一個介面程式碼,開發者可以在錄製前先呼叫此函式進行一次判斷,儲存空間滿足的話再進行錄製。