View Full Version : پخش فايل صوتي wav
nassim0
دوشنبه 21 بهمن 1392, 16:53 عصر
با سلام خدمت دوستان
توي صفحه پروژم نياز دارم تا پيغامهاي صوتي براي كاربرام به صورت اتوماتيك پخش بشه . اين دو كد رو دارم توي لوكال هاست كار ميكنه اما توي سايت رو آپلود مي كنم كار نمي كنه .
System.Media.SoundPlayer player = new System.Media.SoundPlayer("http://test.ir/1.wav");
player.Play();
////////////////////////////////
SoundPlayer objSoundPlayer = new SoundPlayer("http://test.ir/1.wav");
objSoundPlayer.Play();
kamranetemadi
دوشنبه 21 بهمن 1392, 17:13 عصر
هر دو کد یکی هستن!!!!!
و هردو هم کار میکنن
اما صدا روی هاست پخش میشه :لبخند:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
var soundObject = null;
function PlaySound() {
if (soundObject != null) {
document.body.removeChild(soundObject);
soundObject.removed = true;
soundObject = null;
}
soundObject = document.createElement("embed");
soundObject.setAttribute("src", "sounds/sound.wav");
soundObject.setAttribute("hidden", true);
soundObject.setAttribute("autostart", true);
document.body.appendChild(soundObject);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<input type = "button" onclick = "PlaySound()" value = "Play Sound" />
</form>
</body>
</html>
nassim0
دوشنبه 21 بهمن 1392, 17:27 عصر
توي كد بيهايند چطور مي تونم نام و مسير فايل رو بدم به src اسكريپت . چون اسم فايل هر بار فرق مي كنه
kamranetemadi
سه شنبه 22 بهمن 1392, 00:15 صبح
روش اول:
<script>localVariable= '<%=ServerVariable %>';</script>
به این شکل میتونید مقدار یک متغیر سمت سرور رو داخل یک متغیر سمت کلاینت بریزید
روش دوم:
در قسمت کد بیهایند اسکریپت رو Response.Write کنید یا داخل innerText یک کنترل مثل div بریزید
nassim0
سه شنبه 22 بهمن 1392, 08:05 صبح
با سلام و تشكر كد رو استفاده كردم اما ارور ميده . هم نام فايل رو بر اساس http://test.ir/11.wav و هم بصورت 11.wav استفاده كردم همون ارورو داد . كد رو براتون مي زارم بي زحمت راهنماييم كنيد كجا رو اشتباه كردم
Server Error in '/site' Application.
HTTP Error 400 - Bad Request.
Version Information: ASP.NET Development Server 10.0.0.0
Response.Redirect("<script type='text/javascript'>var soundObject = null;function PlaySound() {if (soundObject != null) {document.body.removeChild(soundObject);soundObjec t.removed = true;soundObject = null;}soundObject = document.createElement('embed');soundObject.setAtt ribute('src', '"+soundname+"');soundObject.setAttribute('hidden', true);soundObject.setAttribute('autostart', true);document.body.appendChild(soundObject);}</script>");
kamranetemadi
سه شنبه 22 بهمن 1392, 10:36 صبح
بی دقتی کردید:لبخند:
بجای Response.Write
اشتباها Response.Redirect کردید
nassim0
چهارشنبه 23 بهمن 1392, 09:20 صبح
با تشكر ارورر برطرف شد اما باز هم صدايي پخش نشد .
Mohandes2009
چهارشنبه 23 بهمن 1392, 12:56 عصر
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
var soundObject = null;
function PlaySound() {
if (soundObject != null) {
document.body.removeChild(soundObject);
soundObject.removed = true;
soundObject = null;
}
soundObject = document.createElement("embed");
soundObject.setAttribute("src", "sounds/sound.wav");
soundObject.setAttribute("hidden", true);
soundObject.setAttribute("autostart", true);
document.body.appendChild(soundObject);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<input type = "button" onclick = "PlaySound()" value = "Play Sound" />
</form>
</body>
</html>
nassim0
چهارشنبه 23 بهمن 1392, 13:33 عصر
جواب نمي ده . شما خودتون از اين كد در قسمت بيهايند Response.write جواب گرفتين . ممكنه امتحان كنيد .
kamranetemadi
چهارشنبه 23 بهمن 1392, 13:55 عصر
من این کار رو کردم و جواب داد...
این اسکریپت رو داخل head صفحه گذاشتم
<script type='text/javascript'>
var soundObject = null;
function PlaySound(src) {
if (soundObject != null) {
document.body.removeChild(soundObject);
soundObjec
t.removed = true; soundObject = null;
}
soundObject = document.createElement('embed');
soundObject.setAttribute('src', src);
soundObject.setAttribute('hidden', true);
soundObject.setAttribute('autostart', true);
soundObject.setAttribute('loop', false);
document.body.appendChild(soundObject);
}
</script>
یک دکمه ساده تعریف کردم!!!!
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
این هم کدبیهایند برای رویداد کلیک
protected void Button1_Click(object sender, EventArgs e)
{
src = "آدرس فایل صوتی که قراره پخش بشه";
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append(@"<script>");
sb.Append(@"PlaySound('" + src + "');");
sb.Append(@"</script>");
ScriptManager.RegisterStartupScript(this, this.GetType(), "JCall1", sb.ToString(), false);
}
یا این یکی
protected void Button1_Click(object sender, EventArgs e)
{
src = "آدرس فایل صوتی که قراره پخش بشه";
ScriptManager.RegisterStartupScript(this, this.GetType(), "JCall1", "PlaySound('" + src + "');", true);
}
nassim0
چهارشنبه 23 بهمن 1392, 14:20 عصر
من يه صفحه مستر پيج دارم كد هاي html رو اونجا قرار دادم
<script type='text/javascript'>
src = '<%=src%>';
var soundObject = null;
function PlaySound(src) {
if (soundObject != null) {
document.body.removeChild(soundObject);
soundObjec
t.removed = true; soundObject = null;
}
soundObject = document.createElement('embed');
soundObject.setAttribute('src', src);
soundObject.setAttribute('hidden', true);
soundObject.setAttribute('autostart', true);
soundObject.setAttribute('loop', false);
document.body.appendChild(soundObject);
}
</script>
متغير src رو همونجا تعرف كردم . حالا رفتم توي صفحه lكد بيهايند مستر پيج و صفحه مربوط به پخش صدا و يك متغير public string src تعريف كردم . اما ارور ميگيره
The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).
kamranetemadi
چهارشنبه 23 بهمن 1392, 22:41 عصر
این قسمت رو حذف کنید
src = '<%=src%>';
برای پاس دادن مقدار src از کد بیهایند این کارو بکنید
protected void Button1_Click(object sender, EventArgs e)
{
src = "آدرس فایل صوتی که قراره پخش بشه";
ScriptManager.RegisterStartupScript(this, this.GetType(), "JCall1", "PlaySound('" + src + "');", true);
}
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.