Воспроизведение файла MP3 с использованием C # - PullRequest
2 голосов
/ 10 марта 2012

Я ищу способ воспроизведения файла MP3 без какой-либо третьей стороны, воспроизводящего его (медиаплеер и т. Д.). Есть ли способ сделать это? Спасибо.

Ответы [ 2 ]

8 голосов
/ 10 марта 2012

Я написал библиотеку с открытым исходным кодом под названием NAudio , которая может сделать это:

private IWavePlayer waveOut;
private Mp3FileReader mp3FileReader;

private void PlayMp3()
{
    this.waveOut = new WaveOut(); // or new WaveOutEvent() if you are not using WinForms/WPF
    this.mp3FileReader = new Mp3FileReader("myfile.mp3");
    this.waveOut.Init(mp3FileReader);
    this.waveOut.Play();
    this.waveOut.PlaybackStopped += OnPlaybackStopped;
}

private void OnPlaybackStopped(object sender, EventArgs e)
{
    this.waveOut.Dispose();
    this.mp3FileReader.Dispose();
}
0 голосов
/ 10 марта 2012

Я не понимаю, почему вы хотите избегать сторонних библиотек. Если вы пишете на c #, вы, вероятно, разрабатываете для Windows, которая обычно имеет winmm.dll. Таким образом, вы можете импортировать и использовать mciSendString , как в этом примере .

Однако, если вы преобразуете данные MP3 в необработанные данные, вы можете воспроизводить их, используя класс .NET SoundPlayer .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...