0

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;
4

1 に答える 1

4

使用できますSystem.Media.SoundPlayer。これはMonoによって実装されています。

于 2011-09-30T19:58:56.777 に答える