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

  • 问题

  •    我在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;
    }

    谁有遇到过类似的问题

    2014年1月8日 9:59

全部回复

  • 你好,

    你的代码没有错误,请检查你的环境是否有问题,或者media player 有问题,你可以尝试换一台机器运行代码,看看是否会出现类似的错误。

    谢谢


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年1月9日 8:15
    版主
  •  谢谢你的回复,现在是所有的设备用到media player或者其它播放器都会出现这个问题,感觉好像如果用到DirectX来播放声音就出现问题。
    2014年1月9日 8:48