หน้าแรก
 การบ้าน
  C/C++ new
  Java new
  Windows Phone
  แจ้งเรื่องที่ต้องการ
 บทความ
  .NET
  Android
  Blackberry
  C++Builder
  Delphi
  Java
  Mobile
  Open Source
  Pocket PC
  Visual Basic
  Web
  Windows Phone
  Others
 แบบเรียนฟรี
  ASP
  ASP.NET Webmatrix
  C++
  eVB
  J2ME
  Java
  PHP
 ซอร์สโค้ด
  Android
  ASP
  C++
  VC++
  CGI-Perl
  Delphi
  Java
  jQuery
  PHP
  Visual Basic
  .NET
 บริการจากเรา
  เปิดท้าย... ขายโค้ด
  Freeware
  อัตราค่าโฆษณา
  รายชื่อลูกค้า
  สถิติผู้เข้าเว็บ
 ดาว์นโหลด
 ค้นหาข้อมูล
 กระดานสนทนา
  .NET
  C/C++
  Delphi
  Java
  Palm/PocketPC
  Visual Basic
  Web
  อื่นๆ
 กระดานงาน
 ลิงค์เว็บ
 เกี่ยวกับผม
 อัตราค่าโฆษณา
Social Network

Facebook  Twitter  YouTube
 New Article
 Webboard
 Freelanceboard
Freeware
โปรแกรมเบอร์ดี (BerDee)
โปรแกรมเบอร์ดี (Android)
เกมส์เป่ายิ้งฉุบ
เกมส์เป่ายิ้งฉุบ(Android)
WebcamMonitor
WebcamMonitor(Windows)
scSendMail
scSendMail(Windows)
MSN Caption
MSN Caption(Windows)
  Freelance comment
  ติดต่อสอบถามมาได้ตลอดนะ...
2015-07-29 13:35:58
  ถ้าผมต้องการเว็บที่พัฒน...
2015-01-18 15:33:54
  ถ้าผมต้องการเว็บที่พัฒน...
2015-01-18 15:32:51
  ติดต่อสอบถามเข้ามาได้นะ...
2014-01-06 12:47:38
  ถ้ายังหาคนสอนไม่ได้ ก็ลอ...
2013-07-06 01:04:37
  สนใจส่งขอบเขตมาคุยราคาก...
2013-03-24 18:54:20
  ถ้ายังไม่มีคนรับงานติดต...
2012-12-16 19:18:14
  สนใจคะ ติดต่อ 0905076277...
2012-11-12 11:07:46
  รับทำโปรเจ็คนักศึกษาหรื...
2012-10-29 03:10:46
  sukit_te34@hotmail.com...
2012-10-29 03:09:36
  Webboard comment
  เขียนโปรแกรมภาษาจาวา
1.โ...

2023-09-12 11:40:28
  ต้องลอง debug ดูเองครับ
ไล่...

2023-06-08 18:03:06
  ร้านค้าแห่งหนึ่ง จะต้องน...
2021-09-21 08:47:08
  จงเขียนโปรแกรมดำเนินการ...
2021-05-07 15:06:11
  จงเขียนโปรแกรมสำหรับคำน...
2021-03-09 14:21:45
  ขอดู...
2021-01-04 23:56:45
  ขอโค้ดเพื่อทำการเรียนกา...
2020-12-09 23:02:09
  แล้ว ?...
2020-12-09 10:56:34
  จ้า...
2020-10-18 16:53:21
  พอดีผมเหลื่อแค่ตัดสต๊อก...
2020-05-31 21:49:43
  Homework comment
  เขียนโปรแกรมเพื่อรับค่า...
2022-02-24 10:45:17
  จากโค้ดนี้อะครับ พอดีลอง...
2021-03-22 01:22:39
  จากโค้ดนี้อะครับ พอดีลอง...
2021-03-22 01:22:39
  โจทย์การบ้าน c++ เขียนรูปแ...
2020-04-06 11:01:33
  แบบนี้ขอเป็น ภาษา php หน่อย...
2019-09-18 14:36:34
  ผมไม่อยากให้คุณได้คะแนน...
2019-04-27 01:29:07
  อาจารย์เขาบอกแนวข้อสอบม...
2019-04-27 00:44:29
  ขอสอบถามการเขียน c++ ครับ เ...
2018-04-02 12:19:21
  โค้ดตัวอย่างศึกษาให้เข้...
2017-11-26 14:50:05
  คำนวณค่าน้ำโดยรับค่ามิเ...
2017-11-20 23:15:26
  Article comment
  เท่าที่อ่าน error คือพื้นที่...
2022-03-23 13:56:48
  เรียน สอบถามปัญหา กับ อ.คร...
2022-01-24 17:39:49
  ต้องการ ให้เขียน โปรแกรม ...
2019-12-09 11:39:58
  รับเขียน arx จาก vc++ 2017 ล็อคโปร...
2019-09-19 09:48:09
  ทำการ register ไฟล์ที่ชื่อ mswinsck.oc...
2019-09-17 14:05:56
  ใน vb 6 ไม่มี component winsock เลยค่ะ ส...
2019-09-03 10:31:02
  รบกวนขอสอบถามหน่อยนะครั...
2019-03-04 05:31:04
  สามารถนำตัวหนังสือจากภา...
2018-12-25 08:54:32
  มีcode ของ VB ไหมค่ะ ถ้ามีรบกว...
2017-09-28 16:50:02
  น่าจะได้ครับ ไม่เคยลอง
...

2017-07-11 09:59:35
  9Mcode comment

Link Exchange

อัตราค่าโฆษณา
 
 eMbedded Visual Basic Tutorial  

- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -

 eMbedded Visual Basic
 
 

บทที่ 6 โปรแกรมเล่นไฟล์ wave

 

หลังจากการสร้างเมนูบาร์ สำหรับขั้นตอนต่อไปจะเป็นการ เพิ่มเติมปุ่มเข้าไปยังเมนูบาร์ และการจัดการกับปุ่ม ที่สร้างขึ้น โดยขั้นตอนทั้งหมด คุณต้องทำการสร้างขั้นตอนในบท โปรแกรมตัวอย่างการใช้เมนู เป็นที่เรียบร้อย ก่อนการทดลองเขียนโปรแกรมในบทนี้ หรือสามารถ ดาว์นโหลดไฟล์ตัวอย่าง ได้จากลิงค์ ด้านล่าง

Downloadดาวน์โหลดโปรแกรม

ออกแบบหน้าตาโปรแกรม

โปรแกรมจะออกแบบง่ายๆ โดยทำการวางปุ่มไว้บน ฟอร์มเพียงปุ่มเดียว เพื่อให้ผู้ใช้คลิก และจะมีการเล่นไฟล์ wave ออกมา

  • ทำการเปิดโปรแกรม eVB ผ่านทางเมนู Start->Programs->Microsoft eMbedded Tools->eMbedded Visual Basic 3.0
  • คลิกเลือก File->New Project หรือกดปุ่ม Ctrl+N จะปรากฏหน้าต่าง ให้ทำการเลือก Windows CE for Pocket PC 2002 แล้วคลิกปุ่ม OK

รูปแสดง การเลือกสร้าง Project ใหม่
รูปแสดง การเลือกสร้าง Project ใหม่

  • ทำการดับเบิ้ลคลิก คอนโทรล รูปปุ่ม (CommandButton) ที่อยู่บน Toolbox จะปรากฏปุ่มวางไว้ บน Form
  • คลิกเลือกที่ปุ่ม และทำการเปลี่ยนค่า Property ตามตารางด้านล่าง
Control Property Value
CommandButton Name cmdPlaysound
  Caption Play Sound
  • จะได้ผลการกำหนด Property ดังรูป

รูปแสดง ผลที่ได้จากการกำหนด Property ให้กับปุ่ม
รูปแสดง ผลที่ได้จากการกำหนด Property ให้กับปุ่ม

เพิ่มโมดูล (Module) และ API ของเสียง

สำหรับในตัวนี้จะทำการเพิ่ม โมดูล เข้ามาเพื่อจะใช้ในการประกาศตัวแปร และฟังก์ชั่น API (Application Programming Interface) เพื่อจะทำให้ ฟอร์มทุกฟอร์ม(ในกรณีที่มีหลายฟอร์ม) ทำการเรียกใช้ ฟังก์ชั่น หรือ ซับ ที่อยู่ใน โมดูล ได้เหมือนกัน โมดูล จึงเปรียบเสมือนกับข้อมูลส่วนกลางที่ใช้ร่วมกัน ระหว่างฟอร์มภายในโปรเจคเดียวกัน

สำหรับ API นั้น เป็นวิธีการประกาศ ฟังก์ชั่นเพื่อเรียกใช้คำสั่งของระบบ เช่นในตัวอย่างนี้ จะเป็นการเรียกใช้ API ที่ชื่อว่า PlaySound มาใช้งาน ในการเล่นเสียงจากไฟล์ wave ขั้นตอนจะเริ่มจาก

  • คลิกเลือกที่เมนู Project->Add Module จะปรากฏหน้าต่าง Add Module ให้คุณคลิกปุ่ม Open คุณจะได้หน้าต่าง สำหรับป้อนโค้ด ในส่วนของโมดูล ดังรูป

รูปแสดง หน้าต่างของโมดูล
รูปแสดง หน้าต่างของโมดูล

รูปแสดง รายการโมดูล ที่เพิ่มเข้ามาสู่โปรเจค
รูปแสดง รายการโมดูล ที่เพิ่มเข้ามาสู่โปรเจค

  • จะสังเกตุได้ว่าในส่วนของ Property เราสามารถเปลี่ยนชื่อของ โมดูลได้ตามต้องการ
  • ให้ทำการป้อนโค้ด ตามตารางลงไปในส่วนของโมดูล
Option Explicit

Public Const SND_SYNC = &H0 '  play synchronously (default)
Public Const SND_ASYNC = &H1 '  play asynchronously

Public Declare Function PlaySound Lib "Coredll" _  
Alias "PlaySoundW" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long

Private Sub music_play(ByVal music_filename As String)

Dim af As Long
    af = PlaySound(music_filename, 0, SND_ASYNC)
    
End Sub

ในส่วนของโมดูลจะเริ่มต้นด้วย การประกาศค่าคงที่ สำหรับใช้เป็นการกำหนดการเล่นไฟล์ wave ซึ่งจะมีอยู่ 2 แบบ ถัดจากนั้น จะเป็นการประกาศฟังก์ชั่น PlaySound (ส่วนนี้คือการประกาศ API) และถัดจากนั้น จะมีการสร้างซับ ชื่อว่า Sub music_play โดยมีการรับชื่อของไฟล์ wave ที่ต้องการให้เล่นเสียง เข้ามาเก็บในตัวแปร music_filename

ภายในซับ Sub music_play จะทำการเรียกใช้ PlaySound ที่ได้ประกาศไว้ และมีการส่งชื่อของไฟล์ wave ที่ต้องการเล่นเสียงไปให้กับฟังก์ชั่นได้ทำงาน ส่วนหลังสุดจะกำหนดการเล่นให้เป็นแบบ SND_ASYNC ซึ่งค่าตรงนี้ คุณสามารถกลับมาเปลี่ยนเป็น SND_SYNC เพื่อทดสอบความแตกต่างระหว่างการเล่นเสียง ทั้ง 2 แบบ

เริ่มต้นใส่โค้ดการทำงาน

  • ทำการดับเบิ้ลคลิกปุ่ม cmdPlaysound ที่อยู่บนฟอร์ม จะปรากฏหน้าต่าง Code View
  • ทำการป้อนโค้ดเพื่อเรียกใช้งานฟังก์ชั่น ที่เราได้สร้างไว้ใน โมดูล ตามตาราง
Private Sub cmdPlaysound_Click()
Dim title_wave As String
Dim df As Long
    title_wave = "\Windows\Alarm1.WAV"
    music_play (title_wave)

End Sub

จากโค้ดจะเป็นการประกาศตัวแปร title_wave เพื่อเก็บชื่อไฟล์ wave ที่อยู่ภายในเครื่อง Pocket PC หรือ Emulator อยู่แล้ว จากนั้นจะทำการเรียกใช้ ฟังก์ชั่น music_play โดยส่งชื่อไฟล์ที่ต้องการเล่นเสียง wave ออกมา

  • ทำการทดสอบโปรแกรม โดยกดปุ่ม F5 ให้คุณทดสอบคลิกปุ่มที่ต้องการ จะได้ผล เป็นเสียงเมื่อคุณทำการคลิกที่ปุ่ม Play Sound

รูปแสดง การทดสอบการทำงานของโปรแกรม โดยคลิกปุ่ม Play Sound
รูปแสดง การทดสอบการทำงานของโปรแกรม โดยคลิกปุ่ม Play Sound

 

BACK

คลิปสอนเขียนโปรแกรม
เรียนเขียนโปรแกรมดอทเน็ต
เรียนเขียนโปรแกรมแอนดรอยด์
เรียนเขียนโปรแกรมเบล็คเบอร์รี่
เรียนเขียนโปรแกรมซี ซีพลัสพลัส
เรียนเขียนโปรแกรมจาวา
เรียนการใช้งานลินุกส์
เรียนการเขียนโปรแกรมวินโดว์โฟน
เรียนการเขียนโปรแกรมพีเฮชพี มายเอสคิวเอล
อัตราค่าโฆษณา
 
Tutorial
eVB Tutorial
ASP.NET Webmatrix Tutorial
J2ME Tutorial
C++  Tutorial
Java  Tutorial
PHP Tutorial
ASP Tutorial
 
แบบสำรวจ

Home - Article - Tutorial - Sourcecode - Dev Handbook - Search - WebBoard - Links - About Us

สงวนลิขสิทธิ์ ห้ามคัดลอก ทำซ้ำ แก้ไข ดัดแปลง ไม่ว่าในรูปแบบใด โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษร
เลขทะเบียนพาณิชย์อิเล็กทรอนิกส์จากกระทรวงพาณิชย์: 7100503002000
Copyright 2001 SourceCode.in.th