gpt4 book ai didi

c# - 如何使用 MciSendString 在 C# 中选择用于录制的音频设备

转载 作者:行者123 更新时间:2023-11-30 17:06:54 26 4
gpt4 key购买 nike

我正在尝试记录来自调制解调器的音频输入,我已设法通过 TAPI API 进行调用。

我可以使用MciSendString进行录音,但不知道如何选择调制解调器作为音频输入设备(目前默认选择声卡)。

我也可以使用 TAPI 命令来录制,但我似乎无法让它工作:

http://julmar.com/blog/programming/you-can-be-just-like-the-government-and-record-telephone-conversations-with-tapi-3-1/

如有任何帮助,我们将不胜感激。

最佳答案

您必须首先检测所有设备,然后您可以从那里选择它。代码是 VB.Net,但你应该能够很容易地翻译它。我认为,在您的情况下,事件处理程序不是必需的。

找到所有 TAPI 设备:

Private Sub New()
fTapi = New TAPI3Lib.TAPI()
fTapi.Initialize()

fTapi.EventFilter = TAPI_EVENT.TE_CALLNOTIFICATION Or TAPI_EVENT.TE_CALLINFOCHANGE Or TAPI_EVENT.TE_CALLHUB

AddHandler fTapi.Event, AddressOf internalTapiHandler

devices = New List(Of Device)()
For Each addr As ITAddress In CType(fTapi.Addresses, ITCollection)
devices.Add(New Device(fTapi, addr))
Next
End Sub

您还可以检查该设备是否是音频设备:

Public ReadOnly Property isAudioDevice() As Boolean
Get
Return (addr.State = ADDRESS_STATE.AS_INSERVICE) And (CType(addr, ITMediaSupport).MediaTypes And TapiConstants.TAPIMEDIATYPE_AUDIO) = TapiConstants.TAPIMEDIATYPE_AUDIO
End Get
End Property

从那里您可以继续其他示例代码。

请注意,由于时间问题我没有测试它。无论如何希望这会有所帮助。

问候

关于c# - 如何使用 MciSendString 在 C# 中选择用于录制的音频设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34392321/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com