请问如何给Windows Media Player写插件,支持自己定义的音频格式?使其能够播放?
需要哪些步骤,哪些SDK,以及哪些工具。谢谢
写相关的解码的filter并注册。
DirectShow.
可以参考陆其明的DirectShow和Windows Media的书。
regsvr32 filter.ax 进行注册。
注册 一下
写SourceFilter,在DllRegisterServer中的AMovieDllRegisterServer2前
RegisterSourceFilter(
CLSID_AsyncReader,
MEDIASUBTYPE_RealMedia,
_T("0,4,,2E524D46"),
_T(".rm"), _T(".rmvb"), _T(".ram"), NULL);
void RegisterSourceFilter(const CLSID& clsid, const GUID& subtype2, LPCTSTR chkbytes, LPCTSTR ext = NULL, ...)
{
CString null = CStringFromGUID(GUID_NULL);
CString majortype = CStringFromGUID(MEDIATYPE_Stream);
CString subtype = CStringFromGUID(subtype2);
/*
SetRegKeyValue(_T("Media Type\\") + null, subtype, _T("0"), chkbytes);
SetRegKeyValue(_T("Media Type\\") + null, subtype, _T("Source Filter"), CStringFromGUID(clsid));
*/
SetRegKeyValue(_T("Media Type\\") + majortype, subtype, _T("0"), chkbytes);
SetRegKeyValue(_T("Media Type\\") + majortype, subtype, _T("Source Filter"), CStringFromGUID(CLSID_AsyncReader));
DeleteRegKey(_T("Media Type\\") + null, subtype);
va_list marker;
va_start(marker, ext);
for(; ext; ext = va_arg(marker, LPCTSTR))
DeleteRegKey(_T("Media Type\\Extensions"), ext);
va_end(marker);
}