C# 服务程序 播放声音

低调的感觉 2013-06-28 10:12:07
        [DllImport("winmm.dll")]
public static extern bool PlaySound(string pszSound, int hmod, int fdwSound);//播放提示音乐,重载

public const int SND_FILENAME = 0x00020000;
public const int SND_ASYNC = 0x0001;
/// <summary>
/// 播放声音
/// </summary>
public static void VoiceReminder()
{
string strPath = System.Windows.Forms.Application.StartupPath + "\\FailVoice.wav";
PlaySound(strPath, 0, SND_ASYNC | SND_FILENAME);//播放提示音乐
}


以上是我播放声音的代码,放在客户端中是可以播放声音的,但是放在服务程序中就播放不了声音,但是我记录了日志,播放声音的代码是执行成功了,只是没有声音,为什么????
...全文
198 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
低调的感觉 2013-06-28
  • 打赏
  • 举报
回复
引用 3 楼 wangsunjun 的回复:
服务器上用播放音频的播放器打开文件试试,也有可能是文件权限问题
直接用播放器打开是OK的,并且用客户端的程序执行这个API 也是可以发出声音的,就是换成服务程序就不行了
低调的感觉 2013-06-28
  • 打赏
  • 举报
回复
引用 3 楼 wangsunjun 的回复:
服务器上用播放音频的播放器打开文件试试,也有可能是文件权限问题
我现在是直接部署到本机的 执行API“PlaySound” 返回的也是true 就是没有发出声音
  • 打赏
  • 举报
回复
服务器上用播放音频的播放器打开文件试试,也有可能是文件权限问题
低调的感觉 2013-06-28
  • 打赏
  • 举报
回复
引用 1 楼 wangsunjun 的回复:
这个情况一般都是路径不对了 System.Windows.Forms.Application.StartupPath这个方法可能服务端和客户端找的路径不是你想像的那样 调试一下路径下有没有那个音频文件,LZ
我用日志的方式记录了这个路径 是对的
  • 打赏
  • 举报
回复
这个情况一般都是路径不对了 System.Windows.Forms.Application.StartupPath这个方法可能服务端和客户端找的路径不是你想像的那样 调试一下路径下有没有那个音频文件,LZ
xfyxq 2013-06-28
  • 打赏
  • 举报
回复
参考:http://blog.csdn.net/wangyong0921/article/details/8199592
低调的感觉 2013-06-28
  • 打赏
  • 举报
回复
有没有人知道原因???

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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