ShadowWares Forum

Programming (Applications) => System Programming => ข้อความที่เริ่มโดย: ShadowMan ที่ ธันวาคม 27, 2010, 09:26:02 am



หัวข้อ: waveInX Functions -- 02 -- waveInGetNumDevs()
เริ่มหัวข้อโดย: ShadowMan ที่ ธันวาคม 27, 2010, 09:26:02 am
มาเริ่มกันที่ฟังก์ชั่นแรกเลยครับ
ก่อนอื่นเลยเราจะต้องทราบก่อนว่าในเครื่องคอมพิวเตอร์ของเรามี Sound driver อยู่กี่ตัว (ถ้าไม่มีก็ไม่สามารถทำอะไรต่อได้)
ฟังก์ชัน waveInGetNumDevs() จะทำหน้าที่นี้ และมีการใช้งานดังนี้:
Code:
unsigned int NumDevs = waveInGetNumDevs();
ตอนนี้จำนวน Sound driver จะอยู่ในตัวแปร NumDevs สามารถทำการ print ออกมาแสดงผลได้
ตอนนี้มาดูตัวอย่างแบบเต็มๆกันครับ:
Code: (c)
#include <windows.h>
#include <mmsystem.h>
#include <stdio.h>

int main(void){
    unsigned int NumDevs;
    NumDevs = waveInGetNumDevs();
    printf("NumDevs = %d\n", NumDevs);

    printf("\nPress any key to exit.");
    getchar(); return 0;
}

ตอนนี้จะมีข้อความ "NumDevs = X" เมื่อ X คือตัวเลขใดๆ ถ้าหากเป็น 0 แสดงว่าเครื่องคอมพิวเตอร์ของเราไม่มี Sound Card Driver อยู่ หรือ ไม่สามารถเข้าถึงได้นั่นเอง
ถ้าหาก X มากกว่า 0 ตอนนี้พร้อมแล้วที่จะเขียนโปรแกรมเพื่อรับสัญญาณเสียง ในตอนต่อไปมาดูกันว่าในเครื่องคอมพิวเตอร์ของเรา มี Sound Card Drive ชื่ออะไร ของค่ายไหน และมีรายละเอียดอย่างไรบ้าง