I want to play some sounds in my web page once I click a button. This is my code but it shows an error.
SoundPlayer x = new SoundPlayer();
x.SoundLocation = "WindowsBalloon.wav";
//x.Play();
x.PlaySync();
error:
Please be sure a sound file exists at the specified location.
but the file exists in my project and I'm sure that the address is correct.
You cannot play a file on a web page using the System.Media.Soundplayer class !!!
It will play sound on server-side not client-side.
As mentioned as in below links
- Problem With The C# System.Media.SoundPlayer Class On A Web Host
- What is the most “compatible” way of autoplaying sound ?
<embed>
tag: The <embed>
tag defines a container for external (non-HTML) content. (It is an HTML5 tag, invalid in HTML 4, but works in all browsers). <embed height="100" width="100" src="horse.mp3" />
<object>
tag: The <object>
tag can also define a container for external (non-HTML) content.<object height="100" width="100" data="horse.mp3"></object>
<audio>
tag: The <audio>
element is an HTML5 element, invalid in HTML 4, but it works in all browsers.<audio controls="controls" height="100" width="100">
<source src="horse.mp3" type="audio/mp3" />
<source src="horse.ogg" type="audio/ogg" />
<embed height="100" width="100" src="horse.mp3" />
</audio>
Please note the problems with html5-based solutions you must convert your videos to different formats.
- The <audio>
element does not validate as HTML 4 and XHTML.
- The <embed>
element does not validate as HTML 4 and XHTML.
- The <embed>
element cannot "fall-back" to display an error.
You need to use <object>
or <embed>
html tags.
<object data="WindowsBalloon.wav"></object>
Or HTML5 tag
<audio src="WindowsBalloon.wav">
<p>Your browser does not support the audio element.</p>
</audio>
This works in HTML5
:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("<embed height='0' width='0' src='Sound.wav' />");
}
This is what I think you want:
Server.MapPath(string path);
Returns the physical file path that corresponds to the specified virtual path on the Web server.
Parameters: path: The virtual path of the Web server.
Returns: The physical file path that corresponds to path.
SoundPlayer s = new SoundPlayer();<br>
s.SoundLocation = **Server.MapPath("WindowsBalloon.wav");**<br>
s.PlaySync();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With