本文目錄一覽:
- 1、如何用C語言(或C++)關閉聲卡驅動和打開聲卡驅動,求代碼
- 2、C語言怎麼使用硬盤顯卡聲卡鍵盤鼠標
- 3、如何用VC++或者VB編程控制聲卡發出想要頻率的聲音?
- 4、在visual c++中用C語言編程時要打開計算機的揚聲器用什麼函數
- 5、如何針對聲卡編程發出特定頻率的聲音
- 6、求助,怎麼在C++中調用聲卡發聲啊 會的進來幫個忙
如何用C語言(或C++)關閉聲卡驅動和打開聲卡驅動,求代碼
你是說控制聲卡聲音嗎?
直接用c很麻煩,不過有個變通的方法。
搜索nircmd,下載,這個命令有很多功能,可以使用這個:
增大系統音量2000個單位值 (最大65535) nircmd.exe changesysvolume 2000
降低系統音量5000個單位值 (out of 65535) nircmd.exe changesysvolume -5000
設置系統音量為最大 nircmd.exe setsysvolume 65535
系統音量靜音 nircmd.exe mutesysvolume 1
取消系統靜音 nircmd.exe mutesysvolume 0
改變當前系統靜音設置(靜音和非靜音之間切換) nircmd.exe mutesysvolume 2
main()
{
system(“nircmd.exe mutesysvolume 1”);
}
這樣就可以是上卡靜音了。
C語言怎麼使用硬盤顯卡聲卡鍵盤鼠標
查查什麼 dos高級編程指南吧
實際上這些不是語言的問題,是操作系統和硬件相關的問題啦
如何用VC++或者VB編程控制聲卡發出想要頻率的聲音?
誰說沒人說話啊?
設單擊Command1時發出頻率為500㎐,持續時間為1秒的聲音。代碼如下。
————————————
Private Declare Function Beep Lib “kernel32” (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
Private Sub Command1_Click()
Beep 500, 1000 ‘500表示頻率,單位為㎐;1000表示持續時間,單位為㎳。
End Sub
————————————-
絕對可以使用。
在visual c++中用C語言編程時要打開計算機的揚聲器用什麼函數
C本身沒有讓聲卡發聲的函數,這個需要平台,比如Windows下的directsound。 你要做的是利用C語言調用這些api。
如何針對聲卡編程發出特定頻率的聲音
蜂鳴器編程的話,有個API函數,VB中的聲明為
Declare Function Beep Lib “kernel32” Alias “Beep” (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
調用方法是Beep 聲音頻率,持續時間(毫秒為單位)
比如 beep 2000,1000
如果是聲卡編程的話,也有相應的API函數,比如你可以用DirectSound(也就是DirectX的一部分),功能比較強大,也很專業。事實上,如果你使用的是專業級的聲卡和音響設備,它可以在一定範圍內回放出超出人耳聽覺範圍的聲音。當然也可以用簡單一點的API,以下是幾個需要的函數:
Private Declare Function midiOutGetDevCaps Lib “winmm.dll” Alias “midiOutGetDevCapsA” (ByVal uDeviceID As Long, lpCaps As MIDIOUTCAPS, ByVal uSize As Long) As Long
Private Declare Function midiOutGetNumDevs Lib “winmm” () As Integer
Private Declare Function MIDIOutOpen Lib “winmm.dll” Alias “midiOutOpen” (lphMidiOut As Long, ByVal uDeviceID As Long, ByVal dwCallback As Long, ByVal dwInstance As Long, ByVal dwFlags As Long) As Long
Private Declare Function midiOutClose Lib “winmm.dll” (ByVal hMidiOut As Long) As Long
Private Declare Function midiOutShortMsg Lib “winmm.dll” (ByVal hMidiOut As Long, ByVal dwMsg As Long) As Long
Private Declare Function midiOutGetErrorText Lib “winmm.dll” Alias “midiOutGetErrorTextA” (ByVal err As Long, ByVal lpText As String, ByVal uSize As Long) As Long
Private Const MAXERRORLENGTH = 128 ‘ max error text length (including NULL)
Private Const MIDIMAPPER = (-1)
Private Const MIDI_MAPPER = (-1)
‘MIDIOUTCAPS結構描述了Musical Instrument Digital Interface(MIDI)輸入設備的性能
Type MIDIOUTCAPS
wMid As Integer
wPid As Integer ‘ 產品 ID
vDriverVersion As Long ‘ 設備版本
szPname As String * 32 ‘ 設備 name
wTechnology As Integer ‘ 設備類型
wVoices As Integer
wNotes As Integer
wChannelMask As Integer
dwSupport As Long
End Type
Public Sub note_on(ch As Integer, ByVal kk As Integer, v As Integer)
‘ 發音主函數。參數分別為通道編號,音調,速度
Call midi_outshort(H90 + ch, kk, v)
End Sub
Sub midi_outshort(b1 As Integer, b2 As Integer, b3 As Integer)
Dim midi_error As Integer
midi_error = midiOutShortMsg(hMidi, b3 * H10000 + b2 * H100 + b1)
If Not midi_error = 0 Then
Call midi_outerr(midi_error)
End If
End Sub
Sub midi_outerr(ByVal midi_error As Integer)
Dim s As String
Dim x As Integer
s = Space(MAXERRORLENGTH)
x = midiOutGetErrorText(midi_error, s, MAXERRORLENGTH)
MsgBox s
End Sub
求助,怎麼在C++中調用聲卡發聲啊 會的進來幫個忙
如果說你是要控制發音頻率,應該用windowAPI的Beep函數了 聲明如下: Private Declare Function Beep Lib “kernel32” (ByVal dwFreq As Long,ByVal dwDuration As Long) As Long beep 有兩參數 參數1、Long,聲音頻率(從37Hz到32767Hz)。 參數2、Long,聲音的持續時間,以毫秒為單位。如為-1,表示一直播放聲音,直到再次調用該函數為止 調用代碼如:beep (500,1000)
原創文章,作者:OZXGX,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/325375.html