PDA

View Full Version : سوال: اعلام نوبت به مشتری به همراه صدا



minaalamshahi
پنج شنبه 09 آذر 1391, 08:40 صبح
با سلام
من احتیاج دارم که در برنامه خودم در زمانی که سطری از گرید تایید نهایی شد و امور مربوط به مشتری جاری تمام شد پس از فشردن دکمه تایید بتوان از طریق سیستم صوتی نوبت بعدی را به مشتریان اعلام کرد
ممنون میشم منو راهنمایی کنید
با تشکر

ali9698
جمعه 10 آذر 1391, 00:08 صبح
منظورتون تحت وب هستش یا ویندوز؟!!!

minaalamshahi
شنبه 11 آذر 1391, 10:55 صبح
تحت وب دارم اینکار و می کنم

fakhravari
شنبه 11 آذر 1391, 17:24 عصر
http://www.beansoftware.com/Free-ASP.NET-Controls/ASP.NET-Media-Player-Control.aspx
http://forums.asp.net/t/1635081.aspx/1

minaalamshahi
یک شنبه 12 آذر 1391, 08:36 صبح
لینک دومی که باز نمیشه

AmirGhasemi
یک شنبه 12 آذر 1391, 10:04 صبح
سلام
كجاي كار را مشكل داري؟ مشكلت در پخش صداست يا يا در تقسيمات متوالي توليد عدد نوبت؟؟؟ اين پروژه را من به نحو ديگري انجام داده ام اما نفهميدم مشكلت كجاست؟

minaalamshahi
یک شنبه 12 آذر 1391, 10:08 صبح
اصلا نمی دونم چطوری باید کار کنم
و چطوری صدا رو پخش کنم

از یکی از دوستان پرسیدم گفت باید اعداد رو گسسته ذخیره کنی و بعد از تشخیص عدد پیوسته در یک آرایه خونده بشه

حالا اگر این روش درسته با همین media playe plugin پخش کنم؟

minaalamshahi
یک شنبه 12 آذر 1391, 10:34 صبح
http://www.beansoftware.com/Free-ASP.NET-Controls/ASP.NET-Media-Player-Control.aspx
http://forums.asp.net/t/1635081.aspx/1

plugin هم روی فایر فاکس جواب نمیده که

AmirGhasemi
یک شنبه 12 آذر 1391, 11:34 صبح
سلام دوباره دوست عزيز
ببينيد پلاگين يا قطعات كد اماده براي پخش صدا كه توي اينترنت پره!!! خوب بگردي چيزهاي توپي پيدا مي كني! من اصلا وارد بحث اون نمي شم
اما نكته مهم روش توليد نوبت است! و ذخيره كردن صداهاي مربوطه است!
ببينيد شما مثلا نوبت 125 را مي خواهيد صدا كنيد
خب يك روش اينه كه شما از عدد يك تا عدد نهايي خودتون كه مثلا نوبت 1000 است را جدا جدا ذخيره كنيد!! اين راحت ترين راهست! اما گران! چون هم بايد يك فضايي براي ذخيره اين نوبت ها توش باشه هم اينكه مثلا اگه قراره يك دوبلور معروف را واسه اين كار انتخاب كني خداد تومان پول مي گيره!! من براي صدابردارب به مدت يك ربع به يكي از اين دوبلور ها يك ميليون تومان دادم كلا فكركنم 50 كلمه هم حرف نزد!
اما روش ديگه تشكيل آرايه و خرد كردن اعداد است
مثلا شما اگه مي خواهي عدد 125 را صدا كني بايد در واقع سه فايل را فراخواني بكني نه يك فايل را!! در ان روش قبلي شما مي رفتي فايل 125 را فراخواني مي كردي و صداشو پخش مي كردي با يك پلير!!
اما در اين روش جديد كه خيلي به صرفه است شما يك فايل با نام "صدو.." يك فايل با نام "بيست و .." و يك فايل با نام "پنج" فراخواني مي كني و اين سه فايل را به نوبت پخش مي كني!!!!
اين شكلي ديگه نمي خواد كه همه اعدا د را ذيخره كني فقط هدر هر دسته عدد را ذخيره مي كني

minaalamshahi
یک شنبه 12 آذر 1391, 12:08 عصر
آیا اگر من بخوام برای 125 سه بار فراخوانی و پخش داشته باشم با توجه به اینکه از asp.net دارم استفاده می کنم تاخیر زمانی بین اعداد زیاد نمیشه؟

minaalamshahi
سه شنبه 14 آذر 1391, 10:25 صبح
من با این روش حلش کردم



// string NUM = "897";
string sSelectedAudio;
SoundPlayer objSoundPlayer;
int milliseconds;
switch (NUM.Length)
{ case 1:
sSelectedAudio = Server.MapPath("~/DirSound/DirOne/" + NUM.Trim() + ".wav");
objSoundPlayer = new SoundPlayer(sSelectedAudio);
objSoundPlayer.Play();
break;
case 2:
sSelectedAudio = Server.MapPath("~/DirSound/DirTwo/" + NUM.Substring(0, 1).Trim() + ".wav");
objSoundPlayer = new SoundPlayer(sSelectedAudio);
objSoundPlayer.Play();
milliseconds = 2000;
Thread.Sleep(milliseconds);
sSelectedAudio = Server.MapPath("~/DirSound/DirOne/" + NUM.Substring(1, 1).Trim() + ".wav");
objSoundPlayer = new SoundPlayer(sSelectedAudio); objSoundPlayer.Play();
break;
case 3:
sSelectedAudio = Server.MapPath("~/DirSound/DirTree/" + NUM.Substring(0, 1).Trim() + ".wav");
objSoundPlayer = new SoundPlayer(sSelectedAudio);
objSoundPlayer.Play();
milliseconds = 2000;
Thread.Sleep(milliseconds);
sSelectedAudio = Server.MapPath("~/DirSound/DirTwo/" + NUM.Substring(1, 1).Trim() + ".wav");
objSoundPlayer = new SoundPlayer(sSelectedAudio);
objSoundPlayer.Play();
milliseconds = 2000;
Thread.Sleep(milliseconds);
sSelectedAudio = Server.MapPath("~/DirSound/DirOne/" + NUM.Substring(2, 1).Trim() + ".wav");
objSoundPlayer = new SoundPlayer(sSelectedAudio); objSoundPlayer.Play();
break;
}

bitcob589
پنج شنبه 16 آذر 1391, 10:04 صبح
من با این روش حلش کردم



// string NUM = "897";
string sSelectedAudio;
SoundPlayer objSoundPlayer;
int milliseconds;
switch (NUM.Length)
{ case 1:
sSelectedAudio = Server.MapPath("~/DirSound/DirOne/" + NUM.Trim() + ".wav");
objSoundPlayer = new SoundPlayer(sSelectedAudio);
objSoundPlayer.Play();
break;
case 2:
sSelectedAudio = Server.MapPath("~/DirSound/DirTwo/" + NUM.Substring(0, 1).Trim() + ".wav");
objSoundPlayer = new SoundPlayer(sSelectedAudio);
objSoundPlayer.Play();
milliseconds = 2000;
Thread.Sleep(milliseconds);
sSelectedAudio = Server.MapPath("~/DirSound/DirOne/" + NUM.Substring(1, 1).Trim() + ".wav");
objSoundPlayer = new SoundPlayer(sSelectedAudio); objSoundPlayer.Play();
break;
case 3:
sSelectedAudio = Server.MapPath("~/DirSound/DirTree/" + NUM.Substring(0, 1).Trim() + ".wav");
objSoundPlayer = new SoundPlayer(sSelectedAudio);
objSoundPlayer.Play();
milliseconds = 2000;
Thread.Sleep(milliseconds);
sSelectedAudio = Server.MapPath("~/DirSound/DirTwo/" + NUM.Substring(1, 1).Trim() + ".wav");
objSoundPlayer = new SoundPlayer(sSelectedAudio);
objSoundPlayer.Play();
milliseconds = 2000;
Thread.Sleep(milliseconds);
sSelectedAudio = Server.MapPath("~/DirSound/DirOne/" + NUM.Substring(2, 1).Trim() + ".wav");
objSoundPlayer = new SoundPlayer(sSelectedAudio); objSoundPlayer.Play();
break;
}


کد بالا استفاده شد ولی خطای زیر می دهد:متفکر:

Please be sure a sound file exists at the specified location

minaalamshahi
شنبه 18 آذر 1391, 13:25 عصر
ببینید من پوشه هاو فایل های صوتی رو دسته بندی و در مسیر برنامه ام دارم
این مشکلی که شما می بینید به خاطر اینه که شما فایل صوتی رو در مسیر برنامه متون ندارین

مثلا دسته فایل های تک رقمی و در داخل این پوشه هم باید فایل های مثلا
1.wav
2.wav
,...
داشته باشین

bitcob589
یک شنبه 19 آذر 1391, 08:12 صبح
در شاخه پروژه یک فولدر است به نام DirSound است وفایلهای صوتی درون پوشه گذاشته شده است به چه دلیلی فایلهای صوتی را درون فولدر خوانده نمی شود

minaalamshahi
یک شنبه 19 آذر 1391, 08:36 صبح
96304
مسیر فایل ها رو به روش زیر من گذاشتم
شما هر طوری که دوست دارین می تونین دسته بندی کنید
من رقم های یکان رو جدا دهگان رو جدا و صدگان رو هم جدا
و اعداد 11 تا 19 رو هم جدا ذخیره کردم

مثلا 125
از فولدر صدگان ها 1.wav رو انتخاب و پخش بعد از فولدر دهگان ها 2.wav رو و از فولدر یکان ها 5.wav رو پخش می کنه.

bitcob589
یک شنبه 19 آذر 1391, 09:00 صبح
به روش شما فایلهای صوتی دورن فولدر نگذاشتم همه صوتها را در یک فولدر گذاشتم و برای آدرس دهی فایل صوتی کد به صورت زیر نوشته شد اما فایل صوتی را درون فولدر پیدا نمی کند


case 1:
sSelectedAudio = Server.MapPath("~/DirSound/" + NUM.Trim() + "1.wav");
objSoundPlayer = newSoundPlayer(sSelectedAudio);
objSoundPlayer.Play();

لطفا راهنمایی بفرمایید:ناراحت:

minaalamshahi
یک شنبه 19 آذر 1391, 10:12 صبح
ببینید من
sSelectedAudio = Server.MapPath("~/DirSound/DirOne/" + NUM.Trim() + ".wav");این کد رو که گذاشتممیره از پوشه DIRSOUND <DIRONE فایل من رو که مثلا عدد 1.WAV هست رو پیدا می کنه حالا اگه شما همه رو توی یه پوشه گداشتین هم گذاشتین NUM.TRIM() که عدد ماست و دوباره گذاشتین 1.WAV خوب یه BREAK بذارین ببینین این کد داره براتون چی رو تولید می کنه آیا اصلا شما توی مسیرتون همچین فایلی دارین؟

bitcob589
دوشنبه 20 آذر 1391, 09:37 صبح
break گذاشته شد آدرس یکی از فایل صوتی را بر می گرداند ولی در هنگام اجرا خطای زیر می دهد

Please be sure a sound file exists at the specified location

minaalamshahi
چهارشنبه 06 دی 1391, 20:17 عصر
البته بگم حتما فایل باید wav باشه
شاید مشکل اینه

bitcob589
چهارشنبه 06 دی 1391, 21:04 عصر
البته بگم حتما فایل باید wav باشه
شاید مشکل اینه

فایل از نوع wav است

minaalamshahi
پنج شنبه 07 دی 1391, 19:38 عصر
می خوای برنامتو بذار ببینم مشکلش کجاست

bitcob589
پنج شنبه 07 دی 1391, 21:31 عصر
فایل به صورت زیر است
97394

minaalamshahi
چهارشنبه 13 دی 1391, 10:13 صبح
همونطور که خدمتتون عرض کرده بودم شما مسیر رو اشتباه دادید
برای مثال شما عدد 897 رو صدا زدید

برای ایتکار طبق کد شما
case 3: sSelectedAudio = Server.MapPath("~/DirSound/DirSound/3/" + NUM.Substring(0, 1).Trim() + ".wav"); objSoundPlayer = new SoundPlayer(sSelectedAudio); objSoundPlayer.Play();اجرا میشه ئر صورتیکه شما در پوشه dirsound پوشه ای با نام 3 ندارید.و همون طور که عرض کردم برای فراخوانی 897 شما یکبار عدد هشتصدو -بعد نودو -بعد هفت رو باید فراخوانی کنید.

mohsen22
پنج شنبه 14 دی 1391, 08:39 صبح
با تشکر - تحت وب بودن این سیستم چه حکمتی داره ؟

ala_arian
یک شنبه 13 مرداد 1392, 20:04 عصر
salam.bebakhshid man daram y barname minevisam k tush niaze b elame shomareha daram ama voic nadaram.yeki peyda kardam ama male 118 bud.man niaz b voice elame shomare bank daram.ag komakam konid mamnun misham