为何sndPlaySound播放wav时,没有任何的声音.

allen_zhaozhencn 2006-11-07 11:30:02
如题,环境: armv4i, wince, 开发环境:evc4.0(sp3, sp4),
在wince本来的media player 可以播放mp3与wav文件。

代码如下:


Tstring strPlayFile = UTILITY_FUNCTION_NS::GetExeCurrentDirectory() + _T("nudge.wav");

BOOL bRet = ::sndPlaySound(strPlayFile.c_str(), SND_FILENAME|SND_ASYNC);
//此处返回值为1, 但没有任何声音。
if (!bRet)
{
DWORD dwError = ::GetLastError();
}

//下面这一句无声音。
::MessageBeep(MB_ICONASTERISK);

...全文
369 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
slyzhang 2006-11-17
  • 打赏
  • 举报
回复
一般情况下 象这种标准的API来说 底层都给予一定的支持,如果你的wave out是好的 那么就看你相关的一些小特性是否支持了,不同的硬件平台和OS 支持程度是不同的。

最好先测试一个标准的测试程序,在其他平台下测试通过来拿来测试。。。。

ppcat_001 2006-11-16
  • 打赏
  • 举报
回复
sndPlaySound是马上返回的,就是返回值正确也不能保证肯定会有声音
lenux 2006-11-08
  • 打赏
  • 举报
回复
查看一下strPlayFile.c_str()返回了什么东西?
zaodt 2006-11-07
  • 打赏
  • 举报
回复
MessageBeep(MB_ICONASTERISK)

这句我也实验过了,也没有问题。

有很大的可能就是你的操作系统缺少了组件。
zaodt 2006-11-07
  • 打赏
  • 举报
回复
sndPlaySound(_T("\\test.wav"), SND_FILENAME|SND_ASYNC)

这句我已经做过实验,可以成功播放;我怀疑是你的操作系统缺少组件,请你关注一下是否添加了 Waveform Audio 这个组件?

19,519

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧