使用WM8731在Wince 5.0用media player播放声音报错
我在wince 5.0 下实现针对WM8731的音频驱动,只要不用media player播放声音是可以正常的播放声音(比如在控制面板播放声音),但一旦使用media player就会报错,通过查看调试信息,报错信息如下
Data Abort: Thread=87c394cc Proc=81eb6440 'device.exe'
AKY=00000005 PC=0256560c(s3c2450_wavedev.dll+0x0000560c) RA=00140000(device.exe+0x00130000) BVA=1c085f11 FSR=00000005
EXCEPTION IN IST for stream 0x588f90, buffer 0x1c085f11!!!!
Data Abort: Thread=87c394cc Proc=81eb6440 'device.exe'
通过查看代码是 下面这个函数报错
PBYTE WaveStreamContext::Render(PBYTE pBuffer, PBYTE pBufferEnd, PBYTE pBufferLast)
{
if (!m_bRunning || !m_lpCurrData)
{
return pBuffer;
}
while (pBuffer < pBufferEnd)
{
while (m_lpCurrData>=m_lpCurrDataEnd)
{
if (!GetNextBuffer())
{
return pBuffer;
}
}
_try
{
pBuffer = Render2(pBuffer,pBufferEnd,pBufferLast);
}
_except (EXCEPTION_EXECUTE_HANDLER)
{
RETAILMSG(1, (TEXT("EXCEPTION IN IST for stream 0x%x, buffer 0x%x!!!!\r\n"), this, m_lpCurrData));
m_lpCurrData=m_lpCurrDataEnd; // Pretend we finished reading the application buffer
}
}
return pBuffer;
}
谁有遇到过类似的问题