Какая есть бесплатная библиотека на 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 varaudioFile=newWaveFileReader("audio.wav")var audioFile = new WaveFileReader("audio.wav")varaudioFile=newWaveFileReader("audio.wav")
using varoutputDevice=newWaveOutEvent()var outputDevice = new WaveOutEvent()varoutputDevice=newWaveOutEvent()
{ outputDevice.InitaudioFileaudioFileaudioFile; outputDevice.Play; while outputDevice.PlaybackState==PlaybackState.PlayingoutputDevice.PlaybackState == PlaybackState.PlayingoutputDevice.PlaybackState==PlaybackState.Playing
{ System.Threading.Thread.Sleep100100100; } } // Запись аудио с микрофона using varcapture=newWaveInEvent()var capture = new WaveInEvent()varcapture=newWaveInEvent()
{ capture.WaveFormat = new WaveFormat44100,144100, 144100,1; // Задаем формат записи capture.DataAvailable += sender,esender, esender,e => { // Обработка полученных аудио данных Console.WriteLine"Audiodatareceived""Audio data received""Audiodatareceived"; }; capture.StartRecording; Console.WriteLine"Recording.Pressanykeytostop...""Recording. Press any key to stop...""Recording.Pressanykeytostop..."; 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 varaudioFile=newWaveFileReader("audio.wav")var audioFile = new WaveFileReader("audio.wav")varaudioFile=newWaveFileReader("audio.wav") using varoutputDevice=newWaveOutEvent()var outputDevice = new WaveOutEvent()varoutputDevice=newWaveOutEvent() {
outputDevice.InitaudioFileaudioFileaudioFile;
outputDevice.Play;
while outputDevice.PlaybackState==PlaybackState.PlayingoutputDevice.PlaybackState == PlaybackState.PlayingoutputDevice.PlaybackState==PlaybackState.Playing {
System.Threading.Thread.Sleep100100100;
}
}
// Запись аудио с микрофона
using varcapture=newWaveInEvent()var capture = new WaveInEvent()varcapture=newWaveInEvent() {
capture.WaveFormat = new WaveFormat44100,144100, 144100,1; // Задаем формат записи
capture.DataAvailable += sender,esender, esender,e =>
{
// Обработка полученных аудио данных
Console.WriteLine"Audiodatareceived""Audio data received""Audiodatareceived";
};
capture.StartRecording;
Console.WriteLine"Recording.Pressanykeytostop...""Recording. Press any key to stop...""Recording.Pressanykeytostop...";
Console.ReadKey;
capture.StopRecording;
}
}
}
Прежде чем запустить этот код, вам нужно установить пакет NAudio через NuGet в вашем проекте. Для этого в Visual Studio откройте консоль NuGet Package Manager и выполните следующую команду:
Install-Package NAudioПосле этого вы сможете воспроизводить *.Wav файлы и записывать аудио с микрофона на обеих платформах. Надеюсь, это поможет вам в решении вашей проблемы.