mp3音频Source Filter开发 没有声音输出
mmidd 2008-07-15 02:11:22 开发一个音频的source filter 播放含有自定义格式的mp3文件
媒体类型设置为:
HRESULT CSPin::GetMediaType(CMediaType *pMediaType)
{
CheckPointer(pMediaType, E_POINTER);
CAutoLock cAutoLock(m_pFilter->pStateLock());
WAVEFORMATEX *pvi = (WAVEFORMATEX *) pMediaType->AllocFormatBuffer(sizeof(WAVEFORMATEX));
if(NULL == pvi)
return(E_OUTOFMEMORY);
ZeroMemory(pvi, sizeof(WAVEFORMATEX));
pvi->wFormatTag = 85;
pvi->nChannels = 2;
pvi->nSamplesPerSec = 22050;
pvi->wBitsPerSample = 0;
pvi->nBlockAlign = 1;
pvi->nAvgBytesPerSec = 7000;
pvi->cbSize = 12;
//Major Type: Audio - Sub Type: {00000055-0000-0010-8000-00AA00389B71} - Format: WaveFormatEx: 22.050 KHz 0 bit stereo
pMediaType->SetType(&MEDIATYPE_Audio);
pMediaType->SetSubtype(&MEDIASUBTYPE_MP3);
pMediaType->lSampleSize = 1;
pMediaType->bFixedSizeSamples = 1;
pMediaType->SetFormatType(&CLSID_Formatidmp3);
pMediaType->cbFormat = sizeof(WAVEFORMATEX);
pMediaType->SetFormat((BYTE*)pvi, sizeof(WAVEFORMATEX));
pMediaType->SetTemporalCompression(FALSE);
return S_OK;
}
我的当renender我这个source filter的输出pin时,可以和mp3 decoder,audio render自动连接,但声音播放不出来。
在graphedit中看不到audio render filter属性,且查看属性时出错。
不知道哪里设置的 问题,是否不能用智能连接?还是媒体类型设置的不正确?