Delphi プリズムを使用してプログラムを作成しています。目標は、同じプロジェクトから Windows と Linux (mono) で実行できるようにすることです。したがって、この時点で、winmm.dll または microsoft.visualbasic.dll をインポートせずに Windows および Linux (mono) のサウンド ファイルを再生する方法が必要です。
これは mono でも動作する必要があるため、visualbasic.dll は使用したくありません。過去に、それは私にあらゆる種類の問題を与えました。
これらの dll ファイルを使用せずにサウンド ファイルを再生する方法はありますか?
アップデート
サウンド プレーヤーがどのようにインスタンス化され、使用されても、Windows OS では常に問題なく動作しますが、Linux では mono で再生される場合もあれば、まったく再生されない場合もあります。
最初のバージョン:
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;
2 番目のバージョン
var sp := new SoundPlayer(new FileStream("/sounds/Alarms.wav", FileMode.Open, FileAccess.Read, FileShare.Read));
sp.PlayLooping;