最近不少网友咨询播放器的问题,也就是EasyPlayer,其中EasyPlayer-RTSP播放器能够实现H26四、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)。code
这个代码是一个接口代码,开发者能够在录制前先调用此函数进行一次判断,存储空间知足的话再进行录制。接口