1. 程式人生 > 實用技巧 >如何判斷視訊流媒體播放器EasyPlayer-RTSP-Win的磁碟空間是否滿足剩餘的要求?

如何判斷視訊流媒體播放器EasyPlayer-RTSP-Win的磁碟空間是否滿足剩餘的要求?

最近很多網友諮詢播放器的問題,也就是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)。

這個程式碼是一個介面程式碼,開發者可以在錄製前先呼叫此函式進行一次判斷,儲存空間滿足的話再進行錄製。

EasyPlayerJS播放介面