最近的项目中要做这样一个功能在服务器上可以通过播.doc

最近的项目中要做这样一个功能在服务器上可以通过播.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最近的项目中要做这样一个功能在服务器上可以通过播

最近的项目中,要做这样一个功能,在服务器上可以通过播放器针对不同的音箱设备来播放不同的音乐,就像大学里英语角一样,校广播台对不同的活动中心播放的不同的英文广播。当然我们的项目功能类似,但是却也没校园广播那么复杂,校园广播使用了很好的音频设备,我们得控制成本,所以我们的解决方案是:在服务器上安装一块多通道的专业声卡(录音棚用来录音)或者是安装多块普通的声卡。这样我们在播放音乐的时候可以选择输出的声卡,播放界面如下: 如何去做这样一个播放器呢,.net framework中是不是有这个接口,网上找了一下资料,发现有两种方法: 第一种方法是调用win32下的winmm.dll的API函数去播放文件,代码: using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace HardWaresOperation { public class SpeakerBeeper { //文件资源 private string SoundSource = @C:\Documents and Settings\Administrator\桌面\gc22002a.wav; private string SoundSource; public SpeakerBeeper(string _SoundSource) { SoundSource = _SoundSource; } /// summary /// 检查声卡,播放声音 /// /summary /// param name=_SoundSource声音文件/param /// returns播放成功,返回true/returns public bool SpeakerBeep() { if (SBHelper.waveOutGetNumDevs() != 0) { SBHelper.PlaySound(SoundSource, IntPtr.Zero, SBHelper.PlaySoundFlags.SND_FILENAME | SBHelper.PlaySoundFlags.SND_ASYNC); return true; } else { return false; } } } // 这是辅助的文件SBHelper.cs public class SBHelper { public enum PlaySoundFlags : int { SND_SYNC = 0x0000,//同步 SND_ASYNC = 0x0001,//异步 SND_NODEFAULT = 0x0002,//未找到文件默认为静音 SND_MEMORY = 0x0004,//声音文件来自内存 SND_LOOP = 0x0008, //循环播放 SND_NOSTOP = 0x0010,//不停止目前的播放 SND_NOWAIT = 0//当播放器忙碌时不等待 SND_ALIAS = 0 //为已注册的别名时 SND_ALIAS_ID = 0 //别名为ID SND_FILENAME = 0 //文件名 SND_RESOURCE = 0//资源名 } [DllImport(winmm.dll, EntryPoint = waveOutGetNumDevs)] //waveOutGetNumdevs()方法 //当机器有声卡时返回1 //没有声卡返回0 publ

文档评论(0)

wumanduo11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档