alireza.b
چهارشنبه 30 مرداد 1392, 13:16 عصر
سلام
این کد رو ببینید:
int lenght = richTextBox1.Text.Length;
char[] text = richTextBox1.Text.ToCharArray();
int i = 0;
while (lenght != 0)
{
switch (text[i].ToString())
{
case "ا":
alef.Play();
break;
case "ب":
be.Play();
break;
case "پ":
pe.Play();
break;
case "ت":
te.Play();
break;
case "ث":
se.Play();
break;
case "ج":
je.Play();
break;
case "چ":
che.Play();
break;
case "ح":
he.Play();
break;
case "خ":
khe.Play();
break;
case "د":
de.Play();
break;
case "ذ":
ze.Play();
break;
case "ر":
re.Play();
break;
case "ز":
ze.Play();
break;
case "ژ":
jeje.Play();
break;
case "س":
se.Play();
break;
case "ش":
she.Play();
break;
case "ص":
se.Play();
break;
case "ض":
ze.Play();
break;
case "ط":
te.Play();
break;
case "ظ":
ze.Play();
break;
case "ع":
ee.Play();
break;
case "غ":
ghe.Play();
break;
case "ف":
fe.Play();
break;
case "ق":
ghe.Play();
break;
case "ک":
ke.Play();
break;
case "گ":
ge.Play();
break;
case "ل":
le.Play();
break;
case "م":
me.Play();
break;
case "ن":
ne.Play();
break;
case "و":
ve.Play();
break;
case "ه":
he.Play();
break;
case "ی":
ye.Play();
break;
case " ":
space.Play();
break;
}
i++;
lenght--;
}
این کد وظیفه ی این رو داره که تک تک حروف داخل richTextBox را بخونه و با توجه به هر حرف صدای اون حرف رو پخش کنه
مشکل اینجاست که برنامه میاد و حرف اول رو می خونه و صدای مربوطه پخش می کنه اما صبر نمی کنه تا صدا تموم بشه و بعد بره و حرف دوم رو بخونه
بنابراین خیلی سریع همه ی حروف رو می خونه و پخش می کنه
این اتفاق باعث این میشه که فقط حرف آخر شنیده بشه چون وقته صدای جدیدی توسط برنامه پخش بشه طبیعتا صدای قبلی خاموش میشه
من می خوام کاری کنم که بعد از پخش هر صدا صبر کنه تا صدا تموم بشه و بعد دوباره به اول بلوک while برگرده
ببخشید که طولانی شد
لطفا کمکم کنید
این کد رو ببینید:
int lenght = richTextBox1.Text.Length;
char[] text = richTextBox1.Text.ToCharArray();
int i = 0;
while (lenght != 0)
{
switch (text[i].ToString())
{
case "ا":
alef.Play();
break;
case "ب":
be.Play();
break;
case "پ":
pe.Play();
break;
case "ت":
te.Play();
break;
case "ث":
se.Play();
break;
case "ج":
je.Play();
break;
case "چ":
che.Play();
break;
case "ح":
he.Play();
break;
case "خ":
khe.Play();
break;
case "د":
de.Play();
break;
case "ذ":
ze.Play();
break;
case "ر":
re.Play();
break;
case "ز":
ze.Play();
break;
case "ژ":
jeje.Play();
break;
case "س":
se.Play();
break;
case "ش":
she.Play();
break;
case "ص":
se.Play();
break;
case "ض":
ze.Play();
break;
case "ط":
te.Play();
break;
case "ظ":
ze.Play();
break;
case "ع":
ee.Play();
break;
case "غ":
ghe.Play();
break;
case "ف":
fe.Play();
break;
case "ق":
ghe.Play();
break;
case "ک":
ke.Play();
break;
case "گ":
ge.Play();
break;
case "ل":
le.Play();
break;
case "م":
me.Play();
break;
case "ن":
ne.Play();
break;
case "و":
ve.Play();
break;
case "ه":
he.Play();
break;
case "ی":
ye.Play();
break;
case " ":
space.Play();
break;
}
i++;
lenght--;
}
این کد وظیفه ی این رو داره که تک تک حروف داخل richTextBox را بخونه و با توجه به هر حرف صدای اون حرف رو پخش کنه
مشکل اینجاست که برنامه میاد و حرف اول رو می خونه و صدای مربوطه پخش می کنه اما صبر نمی کنه تا صدا تموم بشه و بعد بره و حرف دوم رو بخونه
بنابراین خیلی سریع همه ی حروف رو می خونه و پخش می کنه
این اتفاق باعث این میشه که فقط حرف آخر شنیده بشه چون وقته صدای جدیدی توسط برنامه پخش بشه طبیعتا صدای قبلی خاموش میشه
من می خوام کاری کنم که بعد از پخش هر صدا صبر کنه تا صدا تموم بشه و بعد دوباره به اول بلوک while برگرده
ببخشید که طولانی شد
لطفا کمکم کنید