Code Snippet To Play Sounds With Delphi XE7 Firemonkey On Windows and Mac OSX
March 21, 2015
Developer CHackbart has a play sound code snippet for Firemonkey over on one of the Delphi forums. The posts are all in German but you can run it through a translator easily enough. The code snippet was written for one of the earlier versions of Delphi but I tested it out in Delphi XE7 Firemonkey and it plays sounds on both Windows and Mac OSX. On Mac OSX it uses the NSSound object (as TNSSound) and on Windows it uses the PlaySound Win32 API call. There are other ways to call NSSound but this way worked on a very recent Mac OSX version. It should also work for you in Appmethod. If you are looking to play sounds on Android and IOS as well you should check out the TGameAudioManager component. Here is the code snippet: uses
{$IFDEF MACOS}
MacAPI.CoreServices, MacAPI.Foundation, MacAPI.AppKit
{$ELSE}
Windows, MMSystem
{$ENDIF};
...
procedure TSound.Play(FileName: string);
begin
{$IFDEF MACOS}
TNSSound.Wrap(TNSSound.Alloc.initWithContentsOfFile(NSSTR(FileName),
true)).play;
{$ELSE}
PlaySound(PChar(FileName), 0, SND_ASYNC);
{$ENDIF}
end;
Yepp, this has been written by me. The code-passage is part of the first steps i made on Android/iOS development. The main project based on Minicraft – a LD game build by Markus Persson. You still can find the complete Delphi code under http://www.dvbviewer.tv/download/minicraftsrc.zip.
Yepp, this has been written by me. The code-passage is part of the first steps i made on Android/iOS development. The main project based on Minicraft – a LD game build by Markus Persson. You still can find the complete Delphi code under http://www.dvbviewer.tv/download/minicraftsrc.zip.
Christian