อย่างที่ทราบกันดี ว่า บอร์ด Raspberry Pi นั้น ได้มีชุด Audio out ติดมาให้พร้อมอยู่แล้ว แต่เรายังไม่ได้เรียกความสามารถตรงนั้นออกมาใช้กันเลย วันนี้เราจะมาทำให้เจ้าบอร์ด Raspberry Pi เล่นเพลง MP3 กันสักหน่อย
ในตอนนี้ Raspian ต้องการชุดโปรแกรมควบคุมการ์ดซาวด์ที่ติดอยู่บนบอร์ด และต้องการโปรแกรมที่ทำหน้าที่ถอดรหัสไฟล์ MP3 เพื่อส่งให้การ์ดซาวด์ต่อไป เรามาเริ่มขั้นตอนกันเลย
อันดับแรก ก็ให้เราติดตั้งโปรแกรม alsa-utils หรือ Advanced Linux Sound Architecture Utility คือชุดโปรแกรมที่ทำหน้าที่ติดต่อกับไฟล์เสียง โดยใช้คำสั่งติดตั้ง package alsa-utils
sudo apt-get install alsa-utils
จากนั้นเราต้องการโปรแกรมที่สามารถที่จะเข้าใจ และสั่งให้เล่นไฟล์ MP3 ได้ นั่นก็คือ โปรแกรม mpg321 นั่นเอง โดยเจ้าโปรแกรมนี้ จะสามารถสั่งให้เล่น หรือ หยุด หรือ เพิ่มเสียง ลดเสียง และอื่นๆ ได้ ด้วยการเพิ่มพารามิเตอร์ผ่าน command line ให้ทำการติดตั้งโปรแกรมนี้ลงไปด้วยคำสั่ง
sudo apt-get install mpg321
เสร็จแล้วให้ทำการ reboot ก่อนหนึ่งครั้ง ด้วยคำสั่ง sudo reboot (หากเพื่อนๆ ลืม :P )
จากนี้ เราจะต้องทำการเพิ่ม Driver sound เข้าไปใน Kernel ของเจ้า Raspian ซะก่อน ด้วยคำสั่ง modprobe แล้วตามด้วย driver sound ของเรา ด้วยคำสั่ง
sudo modprobe snd-bcm2835
โดยปกติแล้วช่องสัญญาณเสียงนั้น จะออกมาทาง Port HDMI ถ้าหากเราต้องการที่จะให้สัญญาณเสียง ย้ายมาออกทางช่อง Audio out ที่มีลักษณะเป็นแจ๊คตัวเมีย หล่ะก็ เราจะต้องกำหนดค่า ด้วยคำสั่ง
sudo amixer cset numid=3 1
ปล. ขอบคุณรูปภาพประกอบจาก http://learn.adafruit.com
ทุกอย่างก็น่าจะเรียบร้อย และบอร์ด Raspberry Pi ของเราก็พร้อมที่จะเล่นไฟล์ MP3 แล้ว ให้เราทดสอบหาไฟล์ MP3 แล้วทำการ FTP เข้าไปที่บอร์ดของเรา หากยังไม่ได้ทำการตั้งค่าให้บอร์ดของเราติดต่อทาง FTP service ได้ ให้กลับไปทำให้บอร์ดของเรากลายเป็น FTP server ซะ (คลิกดูตอนที่แล้ว)
เมื่อเราโยนไฟล์ MP3 ไปไว้ใน Folder ที่เราต้องการแล้ว ให้เข้าไปที่ folder นั้น แล้วเรียกใช้คำสั่ง mpg321 ไฟล์.mp3 แล้วต่อแจ๊คหูฟังตัวผู้ เข้ากับแจ๊คตัวเมีย จะได้ยินเสียงเพลง และข้อความขึ้นที่หน้าจอ terminal เกี่ยวกับไฟล์เพลงที่เล่นอยู่
ใครที่คิดจะทำตู้เพลง (Jukebox) ก็ลองจินตนาการกันดูนะครับ อาจะให้ RPi.GPIO รับค่าจากสวิทช์ แล้วมาส่งคำสั่งมาเล่นเพลงดูก็ได้นะครับ ก็เป็นโปรเจคที่น่าสนใจไม่น้อยเลย
0 ความคิดเห็น:
Post a Comment