![]() |
|
[VB.NET] ارجو المساعدة في برنامج لتشغيل الملفات الصوتية لنطق الارقام - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [VB.NET] ارجو المساعدة في برنامج لتشغيل الملفات الصوتية لنطق الارقام (/showthread.php?tid=36345) |
ارجو المساعدة في برنامج لتشغيل الملفات الصوتية لنطق الارقام - eman kh - 09-09-20 السلام عليكم الاخوة الكرام مرحباً .. أنا عضوة جديدة في المنتدي و هذه أول مشاركة لي، أتمنى أن أكون ضيف مرحب به. أريد منكم مساعدة في برنامج لتشغيل ملفات صوتية لنطق الارقام، أي كالتالي: لنطق رقم واحد يتم استدعاء ملف صوتي '1.wav' و لنطق الرقم 35 يتم تشغيل كل من الملفات التالية على التوالي: الملف الصوتي '5.wav'، الملف الصوتي 'و.wav'، ثم الملف الصوتي '30.wav' وهكذا لباقي الارقام ... لا أريد مكتبة أو دالة ، أريد برنامج متكامل. و شكراً لكم RE: ارجو المساعدة في برنامج لتشغيل الملفات الصوتية لنطق الارقام - Anas Mahmoud - 09-09-20 وعليكم السلام ورحمة الله مانوع المساهمة التي ستقدميها في انشاء برنامجك اذا كنتي تريدين برنامج متكامل ؟؟ RE: ارجو المساعدة في برنامج لتشغيل الملفات الصوتية لنطق الارقام - Anas Mahmoud - 09-09-20 يمكنك البدأ بشيء مثل : كود : Sub PlayNumber(number As Integer)الكود السابق يشغل الارقام من 0 الى 100 واستخدامه بسيط ، بعد وضع زر ومربع نص ، في حدث ضغط الزر : كود : PlayNumber(TextBox1.Text)الكود غير امن تماما ولكنه يعمل ، اترك لك الفرصة لتطويره RE: ارجو المساعدة في برنامج لتشغيل الملفات الصوتية لنطق الارقام - حريف برمجة - 09-09-20 بإختصار أفضل طريقة لهذا المطلوب من وجهة نظري : استخدام مكتبة قوقل لقراءة الحروف العربية . وعمل تفقيط للأرقام مثلاً : تكست الارقام = 1319 تكست التفقيط = ألف و ثلاثمائة و تسعة عشر وإستخدام مكتبة قوقل لقراءة تكست التفقيط . RE: ارجو المساعدة في برنامج لتشغيل الملفات الصوتية لنطق الارقام - eman kh - 11-09-20 (09-09-20, 05:38 PM)Anas Mahmoud كتب : يمكنك البدأ بشيء مثل : شكراً لك اخي الكريم، سوف أقوم بتجربته و اعطيك الرد. ما قمت بتجربته كالتالي: Dim SAPI = CreateObject("SAPI.spvoice") SAPI.Speak(TextBox1.Text) وهناك طريقة أخرى قمت بتجربتها ولكن لم تنفع معي أو بالاحرى لم استطع تشغيل الملفات على التوالي. الكود كالتالي: Dim sentence As String = TextBox1.Text Dim letterName As Char Dim symblicName As String = "" For Each letterName In sentence Select Case letterName Case "0" symblicName = "0" Case "100" symblicName = "100" End Select playFile(symblicName) Next Private Sub playFile(ByVal Name As String) My.Computer.Audio.Play("C:\Users\u\source\repos\numToSpeech\sounds\" + Name + ".wav") End Sub و العديد من الطرق ولكن مشكلتي هي تشغيل الملفات الصوتية على التوالي (09-09-20, 08:07 PM)حريف برمجة كتب : بإختصار أفضل طريقة لهذا المطلوب من وجهة نظري : شكراً لك اخي الكريم على المساعدة، ولكن أغلب المكتبات أو المحركات لا تدعم اللغة العربية! (09-09-20, 05:38 PM)Anas Mahmoud كتب : يمكنك البدأ بشيء مثل : شكراً و بارك الله فيك يا اخي، الكود يعمل بشكل ممتاز. طبعاً سأقوم بتطويره ليقبل أرقام تفوق ال 100 و إضافة العملة نهاية المبلغ و لن انسى أن أقوم بوضع البرنامج كاملاً هنا. إن شاء الله في ميزان حسناتك أخي الكريم RE: ارجو المساعدة في برنامج لتشغيل الملفات الصوتية لنطق الارقام - eman kh - 13-09-20 السلام عليكم اخواني الكريم
اتمنى ان تكونوا بخير ..
بخصوص البرنامج لقد قمت بتطويره، و قمت بإضافة التالي:
- نطق الارقام من الصفر إلى الألف (بالإضافة إلى الارقام العشرية)
- إضافة العملة
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If TextBox1.Text.Contains(".") Then
Dim ss As String() = (TextBox1.Text).ToString.Split(".")
checkPlayNumber(ss(0), ss(1))
Else
PlayNumber(TextBox1.Text)
PlaySoundFile("دينار")
End If
End Sub
Sub checkPlayNumber(number1 As Integer, number2 As Integer)
If number1 = 0 Then
PlayNumber(number2)
PlaySoundFile("درهم")
ElseIf number2 = 0 Then
PlayNumber(number1)
PlaySoundFile("دينار")
ElseIf number1 <> 0 And number2 <> 0 Then
PlayNumber(number1)
PlaySoundFile("دينار")
PlaySoundFile("و")
PlayNumber(number2)
PlaySoundFile("درهم")
End If
End Sub
Sub PlayNumber(number As Integer)
If number = 1 Then
PlaySoundFile("دينار")
ElseIf (number >= 1 And number <= 19) Or (number Mod 10 = 0 And number <= 1000) Then
PlaySoundFile(number)
ElseIf number < 100 Then
Dim ones As Integer = number Mod 10
Dim tens As Integer = number - ones
PlayNumber(ones)
PlaySoundFile("و")
PlayNumber(tens)
ElseIf number > 100 And number < 110 Then
Dim ones As Integer = number Mod 10
Dim tens As Integer = number - ones
PlayNumber(tens)
PlaySoundFile("و")
PlayNumber(ones)
ElseIf number >= 110 Or number Mod 10 = 0 Then
Dim ones As Integer = number Mod 100
Dim tens As Integer = number - ones
PlayNumber(tens)
PlaySoundFile("و")
PlayNumber(ones)
End If
End Sub
Sub PlaySoundFile(number As String)
Dim filePath As String = String.Format("C:\Users\u\source\repos\numToSpeech\sounds\{1}.wav", Application.StartupPath, number)
My.Computer.Audio.Play(filePath, AudioPlayMode.WaitToComplete)
End Sub
ولكن لدي مشكلة وهي عند إدخال الارقام: 10,20,30,40,50,60,90 مع المئات لا يتم نطق الصوت أي على سبيل المثال : لا يتم نطق "120"
و اخيراً أريد منكم مساعدة في نطق الارقام فوق الألف و المليون.
|