Фоновая задача для простых операций?
Мне нужно воспроизвести несколько звуков, и если один звук уже воспроизводится, последующие звуки будут поставлены в очередь. Я использую вызовы MCI API.
До сих пор я использую этот звуковой проигрыватель в качестве элемента управления COM с InterOp.
Тем не менее, управление COM вызывает некоторые ошибки COM Release, поэтому я хотел бы решить это по-другому.
Я хотел бы знать, должен ли я решить эту проблему с помощью обычного класса NET в моей форме, используя фоновую задачу, чтобы я полностью не зависел от того, насколько велика нагрузка на мое приложение, чтобы готовые звуки могли немедленно запустить воспроизведение следующего звука без любая задержка, или, если это было бы излишним, а фоновые задачи должны использоваться только при длительных блокирующих операциях.
Мой звуковой проигрыватель в основном использует только таймер для проверки вызова API, если MCI прекратил воспроизведение, а затем запускает следующий звук.
Кроме того, он предоставляет события, когда звук был запущен, остановлен или по ошибке.
Или если я должен заключить плеер в отдельный проект NET и ссылаться на него? Тогда я также был бы независим от рабочей нагрузки основного приложения.
Безупречное воспроизведение звуковой очереди было бы важно для меня.