Code Snippet To Play Sounds With Delphi XE7 Firemonkey On Windows and Mac OSX

  

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 easier 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;
 
Check out the full forum post over on DelphiPraxis.net or just use the code snippet above.

Comments are closed.