Properly instantiate ASIO recording
This commit is contained in:
parent
390dc02117
commit
f62c51729f
|
@ -3,8 +3,7 @@ using System.Net.WebSockets;
|
|||
using System.Text;
|
||||
using NAudio.CoreAudioApi;
|
||||
using NAudio.Wave;
|
||||
using NAudio.Wave.Asio;
|
||||
using System.IO;
|
||||
#pragma warning disable CA1416
|
||||
|
||||
namespace _2dxAutoClip
|
||||
{
|
||||
|
@ -220,7 +219,12 @@ namespace _2dxAutoClip
|
|||
{
|
||||
if (_useAsio)
|
||||
{
|
||||
StartAsioAudioRecording(songName);
|
||||
var staThread = new Thread(() =>
|
||||
{
|
||||
StartAsioAudioRecording(songName);
|
||||
});
|
||||
staThread.SetApartmentState(ApartmentState.STA);
|
||||
staThread.Start();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -228,6 +232,7 @@ namespace _2dxAutoClip
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
private static void StartWasapiAudioRecording(string songName)
|
||||
{
|
||||
try
|
||||
|
@ -261,7 +266,7 @@ namespace _2dxAutoClip
|
|||
Directory.CreateDirectory(Path.GetDirectoryName(_audioFilePath)!);
|
||||
|
||||
_asioSource = new AsioOut(0);
|
||||
_asioSource.InitRecordAndPlayback(null, 2, 48000);
|
||||
_asioSource.InitRecordAndPlayback(null, 0, 48000);
|
||||
|
||||
_writer = new WaveFileWriter(_audioFilePath, new WaveFormat(44100, 16, 2));
|
||||
|
||||
|
|
Loading…
Reference in a new issue