|
|
|
การแปลงตัวเลขหรือตัวอักษรให้มีเสียงออกมา ที่ทำอยู่เสียงมันดีเลย์ครับ |
|
|
|
|
|
|
|
คุณก็เรียกให้แสดงหมายเลข ก่อนที่จะไป Call ตัวที่เล่นเสียงครับ ลองดูพวก Thread เข้ามาช่วยก็ได้ครับ เผื่อจะมีประโยชน์ครับ
|
|
|
|
|
Date :
2015-09-21 09:48:32 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช่ ๆๆ ครับ
|
|
|
|
|
Date :
2015-09-21 10:13:17 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (VB.NET)
If e.KeyCode = Keys.NumPad1 Then //ตรวจว่ากดปุ่ม เลข1 หรือไม่
If CDbl(Label8.Text) = CInt(0) Then //ตรวจลำดับคิวว่ามีคิวเข้ามาในรายการหรือไม่
MsgBox("ไม่มีคิวเข้ามา")
Exit Sub
End If
ListBox1.SelectedIndex = 0 //เลือกคิวอันดับแรก
Label2.Text = CStr(ListBox1.SelectedItem) //*** ตรงนี้ตั้งให้ Label2 เท่ากับ ค่าแรกของ Listbox เสมอ
ListBox1.Items.RemoveAt(0) //ลบคิวที่เรียกออก เพราะมาโชว์ที่ Label2 แล้ว
count = CInt(Label8.Text) //3บรรทัดนี้ นับแล้วตัดคิวออก แล้วไปแสดง Label8 ว่าเหลือกี่คิว
count = count - 1
Label8.Text = CStr(count)
sound(0) //เรียกเสียงจากไฟล์เสียง โดยใช้ฟังชั่น sound ใส่ ค่าเข้าไปเรียกใช้ Select Case เอง
sound(CInt(Label2.Text)) //อันนี้จับ ว่า Label2 เป็นเลขอะไร แล้วก็ไปดึงไฟล์เสียงเลขนั้นมา
sound(10) // 3บรรทัดนี้ ก็ไฟล์เสียงปกติ เช่น ที่ช่องบริการอะไรก็ว่าไป
sound(1)
sound(11)
End If
ครับ Code นี้ พอกดปุ่มเลข 1 มันจะพูดก่อน แล้วถึงจะแสดงเลข แต่ถ้าเอา Thred ออก มันจะแสดงเลย แต่เสียงมันจะซ้อนกัน ไม่เว้นจังหวะครับ
ช่วยแนะนำด้วยครับ
|
|
|
|
|
Date :
2015-09-22 11:27:35 |
By :
slaper |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าหน่วงเวลา ให้มันก่อนที่จะเล่นเสียงจะได้ไหมครับ
|
|
|
|
|
Date :
2015-09-22 11:52:08 |
By :
Freedom |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เป็นเหมือนกันครับ จะหน่วงก่อนเล่นเสียง แล้วก็เล่นเสียง เสร็จแล้วค่อยแสดงตัวเลขครับ
|
|
|
|
|
Date :
2015-09-22 13:28:09 |
By :
slaper |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คำสั่งอยู่ใน event ไหนของ textbox เหรอครับ
|
|
|
|
|
Date :
2015-09-22 13:29:26 |
By :
fonfire |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คำสั่งอยู่ใน Form1_KeyDown ครับ
Form1_load จะโหลดคำสั่ง Me.KeyPreview = True เพื่อจับอีเว้นจาก Form1 ครับ ถ้าใส่ False จะไม่สามารถจับอีเว้นกด Key ได้ครับ
แต่อยากจะหาคำสั่ง ที่รับค่าตัวเลขมา แล้วแปลงเป็นเสียงออกมาตามตัวเลขนั้นๆ เป็นภาษาไทยครับ จะได้ไม่ต้องทำฟังชั่นเสียงอีกครับ
|
|
|
|
|
Date :
2015-09-22 13:46:04 |
By :
slaper |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มีคำสั่งที่ใช้เล่นเสียงอยู่ 2 ตัวที่ผมเคยใช้มาครับ
1. ของ Vaja ครับ แต่ปัญหาของตัวนี้คือ เล่นเสียงไม่ค่อยเนียน และ ต้องขอทาง Nectec มาก่อน ถึงจะเอามาใช้ได้
2. Google Translate เสียงอ่านดีกว่า Vaja แต่ปัญหาคือ ต้องต่อ Internet เวลาเล่นเสียง
|
|
|
|
|
Date :
2015-09-22 14:11:02 |
By :
Freedom |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าเป็น Form1_KeyDown มันน่าจะเกิดก่อนที่ตัวเลขใน TextBox เปลี่ยนน่ะครับ
ย้ายไป TextChanged ของ Textbox ได้ไหมครับ
|
|
|
|
|
Date :
2015-09-22 14:55:38 |
By :
fonfire |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สร้าง threading ขึ้นมาใช้งานดูครับ
threading ใช้สำหรับ ใส่ตัวเลข
กับ
threading ใช้สำหรับ เสียง
รับรองได้ครับ
|
|
|
|
|
Date :
2015-09-22 14:56:58 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมใช้ Label แสดงตัวเลขครับ
จะสร้าง Thred ยังไงหรอครับ...
|
|
|
|
|
Date :
2015-09-22 17:08:05 |
By :
slaper |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำได้แล้วครับ ขอบคุณครับ ผมใช้ Thred แยกทำงานของเสียงออกมา เวลารัน ก็จะแสดงเลข พร้อมกับมีเสียงออกมาครับ
อีกประเด็นหนึงครับ ผมมีลำดับคิวประมาณ 10000 คิว พอจะมีวิธีให้สามารถเรียกคิวได้ โดยไม่ต้องเขียน Code เยอะไหมครับ เพราะที่ดูๆแล้ว
ต้องใช้ Select Case หรือ If ช่วย แต่จะต้องมานั่งเขียน ชุดเองหรือเปล่า ตอนนี้คิดว่า จะใช้ loop มาช่วย
ขอคำแนะนำด้วยครับ ขอบคุณครับ
|
|
|
|
|
Date :
2015-09-23 00:42:45 |
By :
slaper |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แหล่มคร้าบ
|
|
|
|
|
Date :
2015-09-23 07:45:36 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำได้แล้วครับ ขอบคุณครับ
|
|
|
|
|
Date :
2015-09-24 11:33:12 |
By :
slaper |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|