Page 58 - การโปรแกรมคอมพิวเตอร์ขั้นสูง
P. 58

12-48 การ​โปรแกรมค​ อมพิวเตอร์​ขั้นส​ ูง

       2.2		เมธอด getAudioClip() การ​เล่น​ไฟล์​เสียง​มากกว่า​หนึ่ง​ครั้ง​หรือ​การ​เริ่ม​และ​หยุด​เล่น​ไฟล์​เสียง จะ​ต้อง​
โหลด​ไฟล์​เสียง​ไป​จัด​เก็บ​ไว้​ที่​ออดิโอ​คลิป​ออบ​เจ็กต์ (audioClip object) โดย​ใช้​เมธอด getAudioClip() ซึ่ง​อยู่​ใน​
คลาส Applet ของ​แพ็กเ​กจ java.awt และ​เมธอด getAudioClip() จะ​มีค​ ่าอ​ าร์กิวเมนต์​จำ�นวน 2 ค่า คือ ตำ�แหน่ง​
ที่อ​ ยู่​หรือ URL และ​ชื่อ​ไฟล์​เสียงแ​ ละ​ไดเรกทอรี​ย่อย​ที่จ​ ัด​เก็บ​ไฟล์​เสียงน​ ั้น

       ตัวอย่าง​การ​เขียนป​ ระโยคค​ ำ�​สั่งเ​พื่อ​สร้างอ​ อบ​เจ็กต์แ​ ละโ​หลดไ​ฟล์​เสียง เป็นด​ ังนี้

             AudioClip aClip = getAudioClip(getCodeBase(), "audio/birthday.au");

       จากป​ ระโยคค​ �ำ ​สั่งข​ ้างต​ ้นไ​ฟลเ​์ สียงไ​ดจ้​ ัดเ​ก็บไ​วใ​้ นไ​ดเรกทอรช​ี ื่อ audio และเ​มือ่ ไ​ดส​้ รา้ งอ​ อดิโอค​ ลปิ อ​ อบเ​จก็ ต​์
เรียบร้อย​แล้ว จึง​สามารถจ​ ะ​ใช้เ​มธอด play() เพื่อ​เรียกแ​ ละ​เล่นไ​ฟล์​คลิปเ​สียงไ​ด้

       2.3		การ​ใช้​เมธอด​เพ่ือ​ควบคุม​การ​เล่น​เสียง แม้ว่า​เมธอด play() จะ​เป็น​วิธี​การ​ที่​ง่าย​ใน​การ​โหลด​และ​เล่น​
ไฟล์เ​สียง แต่​จะไ​ม่ส​ ามารถค​ วบคุมเ​สียงไ​ด้ เพราะ​เมธอด play() เป็น​คำ�​สั่งก​ ารเ​ล่นไ​ฟล์เ​สียงต​ ั้งแต่เ​ริ่มต​ ้นจ​ นห​ มดไ​ฟล์
คือ เล่น​ทั้งไ​ฟล์ ดัง​นั้น เมื่อ​ต้องการจ​ ะ​ควบคุม​การ​เล่น​ไฟล์เ​สียง​ต้องใ​ช้อ​ อดิโอค​ ลิปอ​ อบ​เจ็กต์ และเ​มธอด​สำ�หรับก​ าร​
ควบ​คุ​มอ​อบ​เจ็กต์ คือ เมธอด stop() และ​เมธอด loop()

       การ​ใช้​งาน​เมธอด stop() ใช้​สำ�หรับ​การ​หยุด​เล่น​ไฟล์​เสียง และ​เมธอด loop() ใช้​สำ�หรับ​การ​เล่น​ไฟล์​คลิป​
เสียงแ​ บบ​เล่น​วนซ​ ้ำ� ๆ กัน​โดยไ​ม่มีก​ าร​หยุดเ​ล่น

3. 	การ​เขียนโ​ปรแกรมจ​ าวา​แอพเพลต็ เ​พ่อื โ​หลดแ​ ละเ​ล่นค​ ลปิ เ​สียง

       โปรแกรม​จาวา​แอพเพล็ต SoundApplet1.java เพื่อ​เล่น​ไฟล์​คลิป​เสียง spacemusic.wav ซึ่ง​ได้​จัด​เก็บ​
ไฟล์​เสียง​และโ​ปรแกรม​จาวาแ​ อพเพล็ต SoundApplet1.class ไว้​ที่ไ​ดเรกทอรี​เดียวกัน

       1) 	โปรแกรมจ​ าวา​แอพเพล็ต SoundApplet1.java มี​รายล​ ะเอียดด​ ังนี้

 SoundApplet1.java

  1 import java.awt.*;
  2 import java.applet.*;
  3 import java.net.*;
  4 public class SoundApplet1 extends Applet
  5{
  6 	 Button button;
  7 	 public void init()
  8 	{
  9 	 	 BorderLayout layout = new BorderLayout();
  10 	 	 setLayout(layout);
  11 	 	 Font font = new Font("TimesRoman", Font.BOLD, 20);
  12 	 	 setFont(font);
  13 	 	 button = new Button("Play Sound");
  14 	 	 add("Center", button);
   53   54   55   56   57   58   59   60   61   62   63