NAudio AsioOut 클래스를 살펴보면 인스턴스가 출력을 통해 새 파일을 재생할 때마다 인스턴스가 파괴되고 다시 만들어지기 마련입니다. Init 메서드는 인스턴스에 이미 소스 스트림이 있으면 InvalidOperationException을 throw합니다. 일반적으로 일반적인 상황에서는 Asio 출력을 처리하고 다시 작성하는 것이 문제가되지 않지만 출력을 Coniover로 설정하여 Asio 드라이버로 보내므로이를 피하고 싶습니다. 드라이버가 초기화 될 때마다 큰 회선 필터를 다시로드해야하므로 gapless 트랙을 재생할 때 지연이 성가시다.NAudio : 파일 대기열을 재생하기 위해 기존 AsioOut 인스턴스를 재사용해도 안전합니까?
지연을 피하기 위해 이미 존재하는 AsioOut 인스턴스를 처리하지 말아야하며 큐의 다음 파일의 비트 깊이와 샘플링 속도는 마지막 파일과 동일합니다. 문제는 AsioOut 클래스에서 Init를 호출하여 재생할 다음 파일을 전달해야한다는 것입니다. 위에서 언급 한 예외가 발생합니다. 파일 사이에서 비트 심도, 샘플링 속도 및 출력 채널 수가 변경되지 않았 으면 예외를 throw하지 않도록 Init 메서드를 변경하는 것이 안전합니까?
감사합니다, 앨런