社区
Windows客户端开发
帖子详情
我现在在WINCE下用PlaySound方面播放声音,但声音总出不来,不知道什么原因?
yayabobby
2007-06-07 05:03:04
我现在在WINCE下用PlaySound方面播放声音,但声音总出不来,不知道什么原因?
PlaySound (TEXT("soundd.wav"),NULL, SND_FILENAME | SND_NODEFAULT) ;
soundd.wav 文件在根目录下
...全文
2281
33
打赏
收藏
我现在在WINCE下用PlaySound方面播放声音,但声音总出不来,不知道什么原因?
我现在在WINCE下用PlaySound方面播放声音,但声音总出不来,不知道什么原因? PlaySound (TEXT("soundd.wav"),NULL, SND_FILENAME | SND_NODEFAULT) ; soundd.wav 文件在根目录下
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
33 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
_0筱筱0_
2011-12-14
打赏
举报
回复
这个方法没有问题...刚用过的 首先一点确定路径 给路径在调用时写入文本 如果没声音就看下文本上的路径是不是对的 如果路径对的 只能说你文件格式不正确 可能是直接改后缀的吧 格式是别的! 本身这个方法就是让你放自己的路径文件
Vincent_Song
2011-12-14
打赏
举报
回复
你要抓住你出错的重点,别人可以播说明这个API是没有问题的,所以你要找你自己的原因:
1、更换文件
2、是否播放了你没有听见
3、直接用系统的player播放一下你的文件
beyondma
2011-12-13
打赏
举报
回复
1先确定是不是驱动问题。
2在换一个文件使一下
「已注销」
2011-12-13
打赏
举报
回复
应该是文件过大。
改用MP3格式
http://blog.csdn.net/soft2buy/article/details/7065308
zw20105
2011-12-13
打赏
举报
回复
该函数我用过,是不是你的设备根本就播放不出来声音啊,拷贝一个播放器程序,播放你的那个WAV文件看看能不能正常播放出声音,如果设备有问题,或者你的系统移植有问题,那么肯定是播放不出来的。
gisperson
2009-02-26
打赏
举报
回复
这个问题应该是与硬件相关的。PlaySound在大部分设备上都是支持并且能够播放声音。但有的设备上不支持,比如我这几天碰到的一个设备就是这样。修改成采用waveout系列函数实现后就可以播放了。因此建议你改成waveout系列函数实现看看。如果还不行,就只有可能是设备的扬声器有问题了。
qingxiang_1024
2008-06-24
打赏
举报
回复
你的函数中路径应设置:
PlaySound ("\\windows\\sound.wav "),NULL, SND_FILENAME | SND_NODEFAULT) ;
这里用的路径是 绝对路径,也就是你的移动设备或模拟设备的根路径下的windows目录,其下的sound.wav文件存在.
而且 sound.wav 必须是该设备支持的格式
lenux
2007-07-23
打赏
举报
回复
呵呵,PlaySound这个函数对有些wav文件不支持,我查看过,好像是wav的格式不一样。建议换个wav文件试试,或者换个其它方法播放。waveout的api也不错的。要不能利用windows media player 的api最好了。mp3都能播放。
yanro
2007-07-23
打赏
举报
回复
#region 播放声音
private const UInt32 SND_SYNC = 0x00000000;
private const UInt32 SND_ASYNC = 0x00000001;
private const UInt32 SND_NODEFAULT = 0x00000002;
private const UInt32 SND_MEMORY = 0x00000004;
private const UInt32 SND_LOOP = 0x00000008;
private const UInt32 SND_NOSTOP = 0x00000010;
private const UInt32 SND_NOWAIT = 0x00002000;
private const UInt32 SND_ALIAS = 0x00010000;
private const UInt32 SND_FILENAME = 0x00020000;
private const UInt32 SND_RESOURCE = 0x00040004;
[DllImport("coredll.dll",
CallingConvention = CallingConvention.Winapi,
CharSet = CharSet.Unicode,
EntryPoint = "PlaySound",
PreserveSig = true,
SetLastError = false)]
private extern static bool PlaySound(
String pszSound,
IntPtr hmod,
UInt32 fdwSound);
#endregion
PlaySound(声音文件路径, IntPtr.Zero, SND_ASYNC | SND_FILENAME);
Jackile
2007-07-19
打赏
举报
回复
Mark~~
nieyc
2007-07-07
打赏
举报
回复
用音频软件处理一下,以单声道输出,再试试。
北方大冬瓜
2007-07-05
打赏
举报
回复
先直接单击播放一下 soundd.wav,看看能不能放出来
rz_hansen
2007-07-05
打赏
举报
回复
可以试用一下ECDS-MUI产品,已被多家公司拟为商用开发工具,正在开发的软件中还包括一款是为NOKIA内置应用程序,具体可以到CSDN下载,或上www.ecds-mui.com下载最新版。CSDN下载地址:http://download.csdn.net/source/180559
leimiaomiao
2007-07-05
打赏
举报
回复
用Getlasterror 看一下提示的是什么原因
另外告诉大家你的硬件和软件平台
小李匪盗
2007-07-02
打赏
举报
回复
PlaySound(TEXT("\\windows\\soundd.wav"),NULL, SND_SYNC | SND_FILENAME );
把soundd.wav放到windows目录下
djsyz
2007-06-30
打赏
举报
回复
估计是文件格式问题,你的wav不是能mpeg3制式
argusun
2007-06-27
打赏
举报
回复
呵呵。
dream00
2007-06-26
打赏
举报
回复
我昨天刚写了一个同样的例子
string sPath=System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
MobilePlaySound(sPath+"\\276.mp3", IntPtr.Zero, (int)(Flags.SND_ASYNC | Flags.SND_FILENAME));
上面那个路径放在和程序同一级目录下.
我的是用.NET写的..但根你那个是大同小异啊..
有一点要注意的看起来是一样的WAV文件,有些可以在手机上播放,有些是不可以的..这个我前几天也怎么写都播放不了,,用手机直接打开那个文件一试,原来在手机上播放不了,但在电脑上又能播放,后来换了一个QQ的玲声就能播放了..
现在正在试怎么播放MP3,,知道的教我一下呢..
dingxu_ren
2007-06-26
打赏
举报
回复
PlaySound("/soundd.wav", IntPtr.Zero, (int)(SND_FILENAME | SND_SYNC));
试试
yayabobby
2007-06-25
打赏
举报
回复
.........没人帮我???
加载更多回复(13)
MFC中使用
playsound
播放
音乐的方法
本文档显示在vs2010中使用
playsound
函数
播放
音乐的方法
VC++中使用
PlaySound
播放
声音
的方法
对VC++中使用snd
PlaySound
和
PlaySound
函数控制
播放
声音
的使用方法介绍!
PlaySound
函数的使用示例
如何用
PlaySound
函数
播放
wav音乐VS2019!
PlaySound
播放
器 实现wav文件的
播放
PlaySound
播放
器 实现wav文件的
播放
BOOL
PlaySound
(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound); 参数pszSound是指定了要
播放
声音
的字符串,该参数可以是WAVE文件的名字,或是WAV资源的名字,或是内存中
声音
数据的指针,或是在系统注册表WIN.INI中定义的系统事件
声音
。如果该参数为NULL则停止正在
播放
的
声音
。 参数hmod是应用程序的实例句柄,除非pszSound的指向一个资源标识符(即fdwSound被定义为SND_RESOURCE),否则必须设置为NULL。 参数fdwSound是标志的组合,如下表所示。若成功则函数返回TRUE,否则返回FALSE。 使用
PlaySound
函数时需要在#include后面加上(注意:不能加在前面): #include #pragma comment(lib, "WINMM.LIB")
使用
PlaySound
函数
播放
小尺寸WAVE音频的过程
播放
:
PlaySound
((LPCTSTR)IDR_WAVE_DIAL_TEL, AfxGetInstanceHandle(), SND_RESOURCE | SND_ASYNC |SND_LOOP); 停止就顺理成章的写为:
PlaySound
(NULL, AfxGetInstanceHandle(), SND_RESOURCE | SND_ASYNC |SND_LOOP); 可实际当中,怎么也不能停止
播放
。真正可以停止
播放
的是以下调用方式。
PlaySound
(NULL, AfxGetInstanceHandle(), SND_MEMORY | SND_ASYNC |SND_LOOP); 个中
原因
我也没有深入下去,我想可能有这么一个解释。
播放
小尺寸WAVE文件,
PlaySound
会将音频资源存入一个放音缓冲中去。如果想停止的话,就先要清空放音缓冲才行。
Windows客户端开发
7,655
社区成员
18,845
社区内容
发帖
与我相关
我的任务
Windows客户端开发
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
复制链接
扫一扫
分享
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章