C#学习教程:如何在asp.net网页中播放声音?分享


如何在asp.net网页中播放声音?

单击按钮后,我想在网页中播放一些声音。 这是我的代码,但它显示错误。

SoundPlayer x = new SoundPlayer(); x.SoundLocation = "WindowsBalloon.wav"; //x.Play(); x.PlaySync(); 

错误:

请确保指定位置存在声音文件。

但该文件存在于我的项目中,我确信该地址是正确的。

您无法使用System.Media.Soundplayer类在网页上播放文件!

原因

它将在服务器端而非客户端播放声音。

如下面的链接所述
– Web主机上的C#System.Media.SoundPlayer类问题
– 自动播放声音最“兼容”的方式是什么?

基于Html5的音频解决方案(仅适用于现代浏览器)

  
  
  

请注意基于html5的解决方案的问题,您必须将video转换为不同的格式。
元素未validation为HTML 4和XHTML。
元素不会validation为HTML 4和XHTML。
元素无法“后退”以显示错误。

您需要使用 html标记。

  

或者HTML5 标签

  

这就是我想你想要的:

 Server.MapPath(string path); 

返回与Web服务器上指定虚拟路径对应的物理文件路径。

参数:path:Web服务器的虚拟路径。
返回:与路径对应的物理文件路径。

 SoundPlayer s = new SoundPlayer();
s.SoundLocation = **Server.MapPath("WindowsBalloon.wav");**
s.PlaySync();

给定完整路径即c:wavfilesWindowsBalloon.wav

上面的’wavfiles’是用户特权文件夹。

 use x.PlayLooping() 

function,如果你想连续播放声音文件

小心!

使用一个按钮退出循环否则声音文件将连续运行。 我建议你退出循环: –

  Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click x.Stop() End Sub 

这适用于HTML5

 protected void Button1_Click(object sender, EventArgs e) { Response.Write(""); } 

如果您需要以编程方式播放ALARM声音,可以这样做:

  

代码背后(visual basic):

 Dim cBuzz As HtmlControl = DirectCast(panBuzz.FindControl("Buzz"), HtmlControl) cBuzz.Attributes.Add("autoplay", "autoplay") 

代码背后(C#):

 HtmlControl cBuzz = (HtmlControl)panBuzz.FindControl("Buzz"); cBuzz.Attributes.Add("autoplay", "autoplay"); 

尝试将驱动器号添加到路径,例如“C:/WindowsBalloon.wav”。 但这不会在客户端播放。 我建议客户端尝试HTML5。

SoundPlayer s = new SoundPlayer();
s.SoundLocation = Server.MapPath(“WindowsBalloon.wav”);
s.PlaySync();

上述就是C#学习教程:如何在asp.net网页中播放声音?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—猴子技术宅(www.ssfiction.com)

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/ckf/1031820.html

发表评论

邮箱地址不会被公开。 必填项已用*标注