我正在使用Delphi prism编写程序。目标是能够在同一个项目的Windows和Linux(单声道)上运行。因此,在这一点上,我需要有一种方法来播放Windows和Linux(单声道)的声音文件,而无需导入winmm.dll或microsoft.visualbasic.dll。
由于我也需要这个也用于单声道,我不想使用visualbasic.dll。在过去,它给了我各种各样的问题。
有没有办法在不使用这些dll文件的情况下播放声音文件?
更新
无论声音播放器如何被实例化和使用,它总是在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;