如何在Android Firemonkey上播放声音

时间:2017-04-18 00:22:37

标签: delphi firemonkey

我有以下代码:

uses
  MMSystem;

procedure TForm3.AddSound;
var
  hFind, hRes: THandle;
  Song: PChar;
begin
  hFind := FindResource(HInstance, 'Resource_1', RT_RCDATA);
  if hFind <> 0 then begin
    hRes:=LoadResource(HInstance, hFind);
    if hRes <> 0 then begin
      Song:=LockResource(hRes);
      if Assigned(Song) then SndPlaySound(Song, snd_ASync or snd_Memory);
      UnlockResource(hRes);
    end;
    FreeResource(hFind);
  end;
end;

在按钮的OnClick事件中调用此过程时,它在Windows中正常工作,但相同的代码不适用于Android。我收到以下错误:

  

[DCC致命错误] Unit3.pas(8):F2613单位&#39; MMSystem&#39;没找到。

1 个答案:

答案 0 :(得分:1)

此代码在Android上不起作用,因为MMSystem不是FireMonkey库中的跨平台单元。它是VCL库中仅限Windows的单元。移动项目必须仅使用FireMonkey,而不是VCL。

要在Android上播放声音,请查看FireMonkey的TMediaPlayer组件。但是,它无法播放资源中的音频,因此您必须在应用旁边部署音频文件,然后从文件中播放。

有关详细信息,请参阅Embarcadero的Audio-Video in FireMonkey文档。