C# 中关于SoundPlayer的用法
作者&投稿:荆融 (若有异议请与网页底部的电邮联系)
Server.MapPath得到应用程序的物理路径!
如果你是在当前web项目下的一个类中如上写链接语句,可能会提示找不到Server、因为Server的完整路径是System.Web.HttpContext.Current.Server。using System.Web是显然不够的;但是在从内置Page类继承的类中可以直接写Server.MapPath"data.mdb"),应该是因为Page类已经包含了这些类路径。
如果你从Page类继承的类中执行这条语句,才可以简单地使用
DataBase = Server.MapPath("data.mdb");
否则写全命名空间:System.Web.HttpContext.Current.Server.MapPath();
如果不是路径的问题 贴代码出来看看 或者你可以选择嵌入
soundplayer和windows api playsound函数都不行。用dx sound吧。
测试过了。
不要忘记引用 directx.dll
// 建立声音设备
Microsoft.DirectX.DirectSound.Device dev =
new Microsoft.DirectX.DirectSound.Device();
dev.SetCooperativeLevel(this, Microsoft.DirectX.DirectSound.CooperativeLevel.Normal);
// 为声音建立二级缓冲区
try
{
Microsoft.DirectX.DirectSound.SecondaryBuffer snd =
new Microsoft.DirectX.DirectSound.SecondaryBuffer(
@"C:\Windows\Media\Schemes\Glass\Windows Shutdown-Long.wav", dev);
// 播放声音
snd.Play(0, Microsoft.DirectX.DirectSound.BufferPlayFlags.Default);
}
catch (Exception ex)
{
}
用楼上的方法吧.
System.Midea.SoundPlayer.Play()本来就是启用一个新线程播放.
SoundPlayer 类提供了加载和播放 .wav 文件的简单界面。SoundPlayer 类支持从文件路径、URL、包含 .wav 文件的 Stream 或包含 .wav 文件的嵌入资源中加载 .wav 文件。
要使用 SoundPlayer 类播放声音,请用 .wav 文件的路径配置 SoundPlayer 并调用某个播放方法。可以使用某个构造函数或通过设置 SoundLocation 或 Stream 属性来标识要播放的 .wav 文件。可以在播放前使用某个加载方法加载文件,或者将加载推迟到调用某个播放方法时。被配置为从 Stream 或 URL 中加载 .wav 文件的 SoundPlayer 必须在播放开始前将 .wav 文件加载到内存中。
可以同步或异步地加载或播放 .wav 文件。如果调用同步加载或播放方法,调用线程将一直等到方法返回,这可能会导致绘制和其他事件中断。调用异步加载或播放方法则允许调用线程继续执行,而不会中断。有关异步方法调用的更多信息,请参见 如何:在后台运行操作。
当 SoundPlayer 加载完 .wav 文件后,它会引发 LoadCompleted 事件。可以检查事件处理程序中的 AsyncCompletedEventArgs,确定加载是成功还是失败。当音频源设置为新文件路径或 URL 时,引发 SoundLocationChanged 事件。当音频源设置为新 Stream 时,引发 StreamChanged 事件。
可参考微软官方解释:http://www.baidu.com/link?url=zE0CuiqVNEAwP5YY8PLDDRRKgnZEN0ffaJd37BvkXlAcVW2Fwnxn3j7k-UvkZ8_Tj-fLIbqSX8GZvxi7NFzy0RZBYLrpbrfaNOI1sY8-uiXuFPEg604Kek8V9P53LYb4&wd=&eqid=8c2fe38e000133bb000000055597d3f2
韩显硝酸: 引入using System.Media;命名空间 SoundPlayer player = new SoundPlayer("这里可以写声音文件路径"); 播放player.Play();或者 player.SoundLocation ="指定声音路径"; player.Play(); //播放
双滦区15216536186: C#中如何加入soundplayer? - ?
韩显硝酸: playsound函数都不行.用dx sound吧.测试过了.不要忘记引用 directx.dll// 建立声音设备 Microsoft.DirectX.DirectSound.Device dev = new Microsoft.DirectX.DirectSound.Device(); dev.SetCooperativeLevel(this, Microsoft.DirectX.DirectSound....
双滦区15216536186: C# 中关于SoundPlayer的用法 - ?
韩显硝酸: 同一个soundplayer只能分线程使用 如果想多线程使用的话 最好多实例几个soundplayer
双滦区15216536186: 如何在C#项目中添加声音 - ?
韩显硝酸: 使用 SoundPlayer 类可以很容易地在应用程序中包含声音.SoundPlayer 类可以播放来自资源或者来自 UNC 或 HTTP 位置的 .wav 格式的声音文件.此外,SoundPlayer 类使您能够异步加载或播放声音.您也可以使用 SystemSounds 类播放常见的系统声音,包括警告声. supported by net2.0
双滦区15216536186: 怎样在C#中怎样添加声音文件 - ?
韩显硝酸: 添加组件using QuartzTypeLib; 可以播放任意格式的歌曲文件QuartzTypeLib.FilgraphManagerClass Music = new QuartzTypeLib.FilgraphManagerClass();Music.RenderFile(歌曲地址); Music.Run();
双滦区15216536186: C#中SoundPlayer类怎样加载其它类型的音乐文件 - ?
韩显硝酸: 工具箱空白处点击右键---->选择项---->COM组建---->Windows Midia Player 添加此控件,在窗体中添加一个打开文件的按钮:(这是一个最简单的播放单手歌曲的方法) private void tsmOpen_Click(object sender, EventArgs e){FileDialog open ...
双滦区15216536186: 在C#中怎么处理SoundPlayer控件一直循环的问题 - ?
韩显硝酸: OpenFileDialog o = new OpenFileDialog(); o.ShowDialog(); SoundPlayer player = new SoundPlayer(o.FileName); player.Play();//这个方法只播放一遍 player.PlayLooping();//这个方法循环播放
双滦区15216536186: c#中soundplayer用法,简单点说. - ?
韩显硝酸: Server.MapPath得到应用程序的物理路径! 如果你是在当前web项目下的一个类中如上写链接语句,可能会提示找不到Server、因为Server的完整路径是System.Web.HttpContext.Current.Server.using System.Web是显然不够的;但是在从内置...
双滦区15216536186: c# winfrom中 怎么播放声音文件? - ?
韩显硝酸: 引用 Microsoft.DirectX.AudioVideoPlayback 进去项目内,我以下示范,窗体有一个 OpenFileDialog,三个按钮,(选择档案、播放、停止),一个 Label.using System; using System.Windows.Forms; using Microsoft.DirectX....
双滦区15216536186: 如何在c#net窗体中播放音乐 - ?
韩显硝酸: Using System.Media.SoundPlayer;OpenFileDialog o = new OpenFileDialog(); o.ShowDialog(); SoundPlayer player = new SoundPlayer(o.FileName); player.Play();//这个方法只播放一遍 player.PlayLooping();//这个方法循环播放 o.FileName此处可以直接指定音乐文件路径