Хорошо, я знаю, что для некоторых это звучит как очень простой вопрос, но я действительно застрял здесь.На самом деле, я создаю аудиоплеер, используя Naudio , и я понял, что во многих уроках люди всегда показывают простые способы для начала работы.Однако, на мой взгляд, они всегда забывают показать, как на самом деле все делается в реальном приложении.Например, при воспроизведении музыки с помощью Naudio я бы сделал что-то вроде:
Void PlayAudioMusic(string FilePath)
{
using (var ms = File.OpenRead(FilePath))
using (var rdr = new Mp3FileReader(ms))
using (var wavStream = WaveFormatConversionStream.CreatePcmStream(rdr))
using (var baStream = new BlockAlignReductionStream(wavStream))
using (var waveOut = new WaveOut(WaveCallbackInfo.FunctionCallback()))
{
waveOut.Init(baStream);
waveOut.Play();
}
}
Это отлично подходит для тестирования в простом консольном приложении.Это, однако, бесполезно, если вы на самом деле создаете серьезное приложение.Например, многие учебные пособия никогда не говорят о том, как, например, обрабатывать самые важные вещи, такие как:
- Утилизация ресурса и когда это делать
- Лучшие способы обработки различных исключений
- Что делать перед тем, как приостановить, остановить, перемотать или даже выйти из приложения
- Другие вещи, о которых я даже не знаю, существуют.Поскольку я прохожу этот процесс и замечаю, что в моем приложении слишком много исключений, может кто-нибудь поделиться им как класс-оболочка с Naudio, который он использовал для этого.Я уверен, что это ответит на многие проблемы, с которыми некоторые из нас сталкивались, пытаясь использовать Наудио.
Спасибо.