如何获得常见的音频和视频文件的相关信息! 如何在播放前获得文件中的相关信息,比如有的CD中的歌曲名,曲长等等。有办法判断一个文件是音频文件还是视频文件吗?还有就是VCD中歌曲都是保存为dat文件格式,怎么能获得歌曲名列表呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 转贴:【DSHOW中判断媒体文件是否有视频】BOOL CheckIsVisiable(LPCTSTR szFile){ CComPtr< IMediaDet > pDet; BOOL FoundVideo = FALSE; pDet.CoCreateInstance(CLSID_MediaDet); if(!pDet) { AfxMessageBox(TEXT("Could not create CLSID_MediaDet")); } else { USES_CONVERSION; HRESULT hr; // For UNICODE support, copy the CString into a TCHAR array TCHAR szFilename[MAX_PATH]; _tcscpy(szFilename, (LPCTSTR) szFile); hr = pDet->put_Filename(T2W(szFilename)); if (FAILED(hr)) { AfxMessageBox(TEXT("Failed to put filename")); return -1; } long StreamCount = 0; hr = pDet->get_OutputStreams(&StreamCount); if (FAILED(hr)) { AfxMessageBox(TEXT("Failed to get output streams")); return -1; } for(int i = 0; i < StreamCount; i++) { hr = pDet->put_CurrentStream(i); if (FAILED(hr)) { AfxMessageBox(TEXT("Failed to put current stream")); return -1; } GUID StreamType; hr = pDet->get_StreamType(&StreamType); if (FAILED(hr)) { AfxMessageBox(TEXT("Failed to get stream type")); return -1; } if(StreamType == MEDIATYPE_Video) { FoundVideo = TRUE; } } } return FoundVideo;} 怎么能从.cda文件中读出相关信息呢?我看Windows Media Player可以从CD中读出歌曲名,并且很正确。但是CD保存的是所谓的TrackXX.cda文件啊 可以查阅相关文件的格式,分析一下文件头就可以得到了.最简单的方法是用Media Player控件,用它可以很方便的获得各种信息,包括时间长度,信息,作者等等,反正有的信息都能获取. to howtotell(从何谈起) :给个实际的代码看看! 关于线程的问题 虚拟摄像头的程序,在QQ摄像头选择我的虚拟摄像头,程序如何自动运行 VC 动态画直线 菜单栏中的函数调用不能显示 系统时间问题 在ADO中用这条语句会不会有隐患??? 高分求救:关于图像内数字识别问题,解决后再加100 在vc中用RegisterServiceProcess这个函数,头文件是什么?请多多指教!!!! 谁知道api函数方面的书? GG们帮忙,小妹问一个很简单的问题. 望大侠们出手相救---如何获取移动硬盘盘符,急,急,急!!! 怎么获得View指针?较难!
【DSHOW中判断媒体文件是否有视频】
BOOL CheckIsVisiable(LPCTSTR szFile)
{
CComPtr< IMediaDet > pDet;
BOOL FoundVideo = FALSE; pDet.CoCreateInstance(CLSID_MediaDet);
if(!pDet)
{
AfxMessageBox(TEXT("Could not create CLSID_MediaDet"));
}
else
{
USES_CONVERSION;
HRESULT hr; // For UNICODE support, copy the CString into a TCHAR array
TCHAR szFilename[MAX_PATH];
_tcscpy(szFilename, (LPCTSTR) szFile); hr = pDet->put_Filename(T2W(szFilename));
if (FAILED(hr))
{
AfxMessageBox(TEXT("Failed to put filename"));
return -1;
}
long StreamCount = 0;
hr = pDet->get_OutputStreams(&StreamCount);
if (FAILED(hr))
{
AfxMessageBox(TEXT("Failed to get output streams"));
return -1;
} for(int i = 0; i < StreamCount; i++)
{
hr = pDet->put_CurrentStream(i);
if (FAILED(hr))
{
AfxMessageBox(TEXT("Failed to put current stream"));
return -1;
}
GUID StreamType;
hr = pDet->get_StreamType(&StreamType);
if (FAILED(hr))
{
AfxMessageBox(TEXT("Failed to get stream type"));
return -1;
}
if(StreamType == MEDIATYPE_Video)
{
FoundVideo = TRUE;
}
}
}
return FoundVideo;
}
我看Windows Media Player可以从CD中读出歌曲名,并且很正确。但是CD保存的是所谓的TrackXX.cda文件啊
最简单的方法是用Media Player控件,用它可以很方便的获得各种信息,包括时间长度,信息,作者等等,反正有的信息都能获取.
给个实际的代码看看!