Какая есть бесплатная библиотека на C# для воспроизведения и записи аудио на Linux+Windows? Мое текущее приложение отлично работает на Windows, однако разработка идет для Linux, соответственно используемая мной библиотека NAudio там не работает. За последние несколько дней перерыл почти все либы, что были у меня на слуху как кросс-платформенные (NAudio.Core, CSCore, VLC, Bass (ошибка, связанная с Bass.dll)), но в них нельзя было даже определить Sound API для Linux (там только Wasapi, DS, Wave). Может кто-то сталкивался с этим? Мне нужно буквально воспроизвести *.WAV файл и записать аудио через микрофон, все. Желательно в ответе не просто ссылку на репу, а пример с объяснением, ибо за эти дни я устал
Одной из библиотек, которую вы можете использовать для воспроизведения и записи аудио на Linux и Windows, является NAudio. NAudio предоставляет возможности работы с аудио на обеих платформах. Вот пример кода, который позволит вам воспроизводить *.WAV файл и записывать аудио через микрофон с использованием NAudio:
using NAudio.Wave; using System; class Program { static void Main() { // Проигрывание аудио из *.Wav файла using (var audioFile = new WaveFileReader("audio.wav")) using (var outputDevice = new WaveOutEvent()) { outputDevice.Init(audioFile); outputDevice.Play(); while (outputDevice.PlaybackState == PlaybackState.Playing) { System.Threading.Thread.Sleep(100); } } // Запись аудио с микрофона using (var capture = new WaveInEvent()) { capture.WaveFormat = new WaveFormat(44100, 1); // Задаем формат записи capture.DataAvailable += (sender, e) => { // Обработка полученных аудио данных Console.WriteLine("Audio data received"); }; capture.StartRecording(); Console.WriteLine("Recording. Press any key to stop..."); Console.ReadKey(); capture.StopRecording(); } } }
Прежде чем запустить этот код, вам нужно установить пакет NAudio через NuGet в вашем проекте. Для этого в Visual Studio откройте консоль NuGet Package Manager и выполните следующую команду:
Install-Package NAudio
После этого вы сможете воспроизводить *.Wav файлы и записывать аудио с микрофона на обеих платформах. Надеюсь, это поможет вам в решении вашей проблемы.
Одной из библиотек, которую вы можете использовать для воспроизведения и записи аудио на Linux и Windows, является NAudio. NAudio предоставляет возможности работы с аудио на обеих платформах. Вот пример кода, который позволит вам воспроизводить *.WAV файл и записывать аудио через микрофон с использованием NAudio:
using NAudio.Wave;using System;
class Program
{
static void Main()
{
// Проигрывание аудио из *.Wav файла
using (var audioFile = new WaveFileReader("audio.wav"))
using (var outputDevice = new WaveOutEvent())
{
outputDevice.Init(audioFile);
outputDevice.Play();
while (outputDevice.PlaybackState == PlaybackState.Playing)
{
System.Threading.Thread.Sleep(100);
}
}
// Запись аудио с микрофона
using (var capture = new WaveInEvent())
{
capture.WaveFormat = new WaveFormat(44100, 1); // Задаем формат записи
capture.DataAvailable += (sender, e) =>
{
// Обработка полученных аудио данных
Console.WriteLine("Audio data received");
};
capture.StartRecording();
Console.WriteLine("Recording. Press any key to stop...");
Console.ReadKey();
capture.StopRecording();
}
}
}
Прежде чем запустить этот код, вам нужно установить пакет NAudio через NuGet в вашем проекте. Для этого в Visual Studio откройте консоль NuGet Package Manager и выполните следующую команду:
Install-Package NAudioПосле этого вы сможете воспроизводить *.Wav файлы и записывать аудио с микрофона на обеих платформах. Надеюсь, это поможет вам в решении вашей проблемы.