Я пишу программу, использующую призму Delphi. Цель состоит в том, чтобы иметь возможность работать на Windows и Linux (моно) из одного проекта. Итак, на данный момент мне нужно иметь способ воспроизведения звукового файла для Windows и Linux (моно) без необходимости импортировать winmm.dll или microsoft.visualbasic.dll.
Так как мне нужно это для работы на моно, я не хочу использовать visualbasic.dll. В прошлом это давало мне всевозможные проблемы.
Существуют ли способы воспроизведения звукового файла без использования этих DLL-файлов?
UPDATE
Независимо от того, как создается и используется звуковой плеер, он всегда отлично работает в ОС Windows, тогда как в Linux в режиме моно он иногда воспроизводится, а в других случаях просто не воспроизводится вообще.
Первая версия:
var thesound := new SoundPlayer;
if Environment.OSVersion.Platform = Environment.OSVersion.Platform.Unix then
thesound.SoundLocation := '/sounds/Alarms.wav'
else
thesound.SoundLocation:='\sounds\Alarms.wav';
thesound.Load;
thesound.PlayLooping;
Вторая версия
var sp := new SoundPlayer(new FileStream("/sounds/Alarms.wav", FileMode.Open, FileAccess.Read, FileShare.Read));
sp.PlayLooping;