В настоящее время я изо всех сил пытаюсь найти решение для программной установки частоты дискретизации и скорости передачи звука звуковой карты USB. Я работаю над переключением нашей тестовой программы с Windows XP на Windows 7, и у нас есть продукт, который действует как звуковая карта USB. Некоторые из наших тестов отправляют 48k сигналов через звуковую карту и измеряют сигнал после ее маршрутизации через ЦАП. Я думаю, что аппаратное обеспечение/программное обеспечение для аппаратных измерений не помещает его генератор сигналов в исключительный режим, и Windows запутывается и помещает устройство в общий режим, который по умолчанию устанавливает частоту дискретизации до 44.1k/16bit, я хотел бы изменить это значение когда мы запускаем устройство до 48k/24bit.Установите частоту дискретизации в окнах 7
Я надеюсь, что кто-то может подтолкнуть меня в правильном направлении, потому что все, что я вижу, говорит мне, что это невозможно ... (также, я бы предпочел .NET-решения или что-нибудь, что я могу call/execute из .NET будет в порядке).
Вот одна вещь, которую я пробовал, но это закончилось тем, что только создало объект для воспроизведения звука, он не устанавливает глубину выборки/бит навсегда.
Imports NAudio.Wave
Module ConfigureDevice
Private Const SAMPLE_RATE As Integer = 48000
Private Const CHANNELS As Integer = 2
Sub Main(ByVal args() As String)
ConfigureDirectSound(args(0))
End Sub
Private Sub ConfigureDirectSound(ByVal name As String)
Dim out As New DirectSoundOut(GetWaveOutDeviceNumber(name))
Dim waveFormat = New WaveFormat(SAMPLE_RATE, CHANNELS)
Dim waveProvider = New BufferedWaveProvider(waveFormat)
out.Init(waveProvider)
End Sub
Private Function GetWaveOutDeviceNumber(ByVal name As String) As System.Guid
Dim devices = DirectSoundOut.Devices
For Each d In devices
If d.Description = name Then
Return d.Guid
End If
Next
Return Nothing
End Function
End Module
Будет ли VB6 работать даже в Windows 7? Вы используете 32 или 64 бит Win7? – Tim
Tim, VB6 поддерживается на протяжении всего жизненного цикла Windows 8, так что да, он работает. http://msdn.microsoft.com/en-us/vstudio/ms788708.aspx Highcore, У меня нет никакого кода, все мои попытки были решениями с использованием методов, которые бы не сработали. Все, что я пробовал до сих пор, - это открытие аудиопотока на устройстве, я не хочу этого делать, я хочу изменить значение по умолчанию для Windows, которое я не могу найти после часов поиска. – Calvin