หน้าแรก
 การบ้าน
  C/C++ new
  Java new
 Sourcecode.TV
  Android
  Blackberry
  C/C++
  Java
  Linux
  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
 บริการจากเรา
  เปิดท้าย... ขายโค้ด
  DoodeeHosting
  รับออกแบบ พัฒนาเว็บไซต์
  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
  ถ้าผมต้องการเว็บที่พัฒนาด้วย HTML5 ...
2015-01-18 15:33:54
  ถ้าผมต้องการเว็บที่พัฒนาด้วย HTML5 ...
2015-01-18 15:32:51
  ติดต่อสอบถามเข้ามาได้นะคับ
งานเล...

2014-01-06 12:47:38
  ถ้ายังหาคนสอนไม่ได้ ก็ลองศึกษาเองได...
2013-07-06 01:04:37
  สนใจส่งขอบเขตมาคุยราคาก่อนได้นะคับ...
2013-03-24 18:54:20
  ถ้ายังไม่มีคนรับงานติดต่อได้ครับ 08...
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
  ระบบจองตั๋วหนังภาษาจาวา (Ja...
2017-11-18 15:42:48
  โปรแกรมจองตั๋วหนัง ภาษาจาวา...
2017-11-18 15:40:29
  ผมลอง gotoxy แล้วแต่ก็ยังเอ...
2017-08-28 11:45:52
  ลองสร้างตัวแปลอีกตัวไว้ใน u...
2017-08-27 20:09:01
  #define GLUT_DISABLE_ATEXIT...
2017-08-27 12:53:17
  ผมมีคลิปสอนให้แล้ว ดูให้เข้...
2017-08-27 10:50:02
  รับ สอน matlab เขียน matlab...
2017-06-03 16:27:23
  เฉพาะทางขนาดนี้ คงต้องดูหาข...
2017-05-25 16:18:08
  โห เครื่องรุ่นไหนครับ os รุ...
2017-05-25 16:12:47
  ถ้าเขียน php ก็ใช้ curl ส่...
2017-04-20 01:04:20
  Homework comment
  คำนวณค่าน้ำโดยรับค่ามิเตอร์จำน...
2017-11-20 23:15:26
  ขอบคุณมากครับ...
2017-08-16 18:27:25
  ทำเอง งง เอง กะลังทำใหม่ค่ะ ^^...
2017-04-18 18:40:46
  ทำเอง งง เอง กะลังทำใหม่ค่ะ ^^...
2017-04-18 18:37:54
  ประเด็นแรก flowchart มันไม่มีภ...
2017-04-18 17:43:33
  อยากได้ flowchart ค่ะ เป็นภาษา...
2017-04-18 16:25:29
  kungking คำถามคืออะไรครับ ?...
2017-03-18 23:28:36
  จงเขียนโปรแกรมแสดงผลรวมของตัวเ...
2017-03-06 10:56:25
  ก็โค้ดทำงานคล้ายๆแบบนี้หละ แต่...
2016-09-06 01:00:12
  ผมอยากทราบว่าโค้ดนับถอยหลังเป็...
2016-09-05 09:31:27
  Article comment
  มีcode ของ VB ไหมค่ะ ถ้ามีรบกว...
2017-09-28 16:50:02
  น่าจะได้ครับ ไม่เคยลอง
กล่...

2017-07-11 09:59:35
  สามารถใช้ต่อกับ anycast ได้ไหม...
2017-07-05 10:12:35
  ครับ คุณ "ติด" แล้วลองนึกต่อว่...
2016-06-18 15:21:09
  vs2008 c# ครับ ขอบคุณครับ...
2016-06-17 14:39:30
  ผมใช้ vs c# ทำตามทุขั้นตอนแต่ต...
2016-06-17 14:37:44
  ต้องวิเคราะห์ครับ "ว่าจริงๆ ส่...
2016-03-12 23:36:05
  ผมส่งข้อความในวง LAN ได้เฉพาะค...
2016-03-12 18:25:42
  โปรแกรม Terminal บน Mac ก็เป็น...
2016-02-16 11:02:01
  โปรแกรม Terminal คืออะไรหรอคะ...
2016-02-16 05:58:21
  9Mcode comment
  อยากได้...
2014-02-21 08:52:19

Link Exchange

อัตราค่าโฆษณา
Statistics of Sourcecode in Thailand
 
 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

สายต่อจอ สำหรับเครื่อง macbook pro 2016 (usb-c to HDMI)
สายต่อจอ สำหรับเครื่อง macbook pro 2016 (usb-c to HDMI) ความละเอียดระดับ 4K
หัวแปลง Mini DisplayPort to HDMI Adapter หัวแปลง Mini DisplayPort to HDMI Adapter สำหรับเครื่อง macbook air/pro, mac mini
หัวแปลง Mini DisplayPort to HDMI Adapter สำหรับเครื่อง macbook air/pro, mac mini
สายต่อหูฟัง และชาร์จไฟ สำหรับ iPhone 7 และ 7 Plus
สายต่อหูฟัง และชาร์จไฟ สำหรับ iPhone 7 และ 7 Plus
หัวแปลงจาก USB-C Type ไปเป็น USB 3.1 สำหรับ MacBook
หัวแปลงจาก USB-C Type ไปเป็น USB 3.1 สำหรับ MacBook
ไขควงสำหรับเครื่อง Macbook Air/Pro
ไขควง สำหรับแกะเครื่อง Macbook Air/Pro (300บาท)
HDMI เข้า 3 ออก  1 มีรีโมท
HDMI เข้า 3 ออก 1 มีรีโมท (350บาท)
คลิปสอนเขียนโปรแกรม
เรียนเขียนโปรแกรมดอทเน็ต
เรียนเขียนโปรแกรมแอนดรอยด์
เรียนเขียนโปรแกรมเบล็คเบอร์รี่
เรียนเขียนโปรแกรมซี ซีพลัสพลัส
เรียนเขียนโปรแกรมจาวา
เรียนการใช้งานลินุกส์
เรียนการเขียนโปรแกรมวินโดว์โฟน
เรียนการเขียนโปรแกรมพีเฮชพี มายเอสคิวเอล
9M Blog บอกเล่าเรื่องราว การเขียนโปรแกรมของ นายเอ็ม
บริการ ถ่ายภาพรับปริญญา
OrmSin.com: ขายหนังสืองานฝีมือไทย-ญี่ปุ่น-จีน (country crafts)
อัตราค่าโฆษณา
 
Tutorial
eVB Tutorial
ASP.NET Webmatrix Tutorial
J2ME Tutorial
C++  Tutorial
Java  Tutorial
PHP Tutorial
ASP Tutorial
 
แบบสำรวจ
Freelance รับพัฒนาโปรแกรม

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

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