2011-08-10 41 views

回答

4
function WaveInDevicePresent: boolean; 
begin 
    result := waveInGetNumDevs > 0; 
end; 

(使用MMSystem

+0

我總是得到真正的... – opc0de

+2

@ opc0de:那是因爲你總是有某種波形輸入設備存在的。它可能只是一個驅動程序,沒有任何物理連接的麥克風(或者,您可能正在使用內置麥克風且總是存在的麥克風)。我認爲,從「WinAPI」的角度來看,「麥克風」一詞並沒有很好的定義。但是,在大多數情況下,除非您連接麥克風,否則沒有輸入設備。但在某些情況下,就像你的情況一樣,函數總是返回「true」。不過,如果有麥克風連接,它將永遠不會返回「錯誤」。 –

+0

感謝您的解釋,無論如何,我認爲是您可以檢測此+1的唯一方法。 – opc0de