使用WM8731在Wince 5.0用media player播放声音报错

hf62580 2014-01-08 06:01:36
我在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;
}
谁有遇到过类似的问题
...全文
104 点赞 收藏 5
写回复
5 条回复
cjwsimple 2014年05月13日
wm8731音频驱动发给我一份呗 jwc0310@163.com 歇歇了
回复 点赞
91program 2014年01月18日
引用 3 楼 hf62580 的回复:
问题已解决,是驱动的问题,换了别人的音频驱动就没有问题,具体为什么出错还在研究
是的,一般来说不用去怀疑系统本身提供的东东。 如果真的有问题,也是我们自己的东东引起的。
回复 点赞
hf62580 2014年01月17日
问题已解决,是驱动的问题,换了别人的音频驱动就没有问题,具体为什么出错还在研究
回复 点赞
hf62580 2014年01月08日
但是如果不用media player播放音乐是没有这个问题的,我调试了,用其它播放音乐的方式也会调用这个函数的
回复 点赞
91program 2014年01月08日
查看一下 Render2(pBuffer,pBufferEnd,pBufferLast); 中的几个 Buffer 是否越界了?
回复 点赞
发动态
发帖子
嵌入开发(WinCE)
创建于2007-09-28

8168

社区成员

4.1w+

社区内容

硬件/嵌入开发 嵌入开发(WinCE)
社区公告
暂无公告