Delphi XE 无法在 Android 设备上播放声音

Delphi XE Can't play sounds on Android device

我使用 TMediaPlayer 和以下程序:

procedure TForm1.PlayAudio(ResourceID: string);
var
  ResStream: TResourceStream;
  TmpFile: string;
begin
  ResStream := TResourceStream.Create(HInstance, ResourceID, RT_RCDATA);
  try

    //TmpFile := TPath.Combine(TPath.GetTempPath, 'tmp.wav');
    TmpFile :=(System.IOUtils.TPath.GetDocumentsPath + System.SysUtils.PathDelim + 'tmp.wav');

    ResStream.Position := 0;
    ResStream.SaveToFile(TmpFile);
    MediaPlayer1.FileName := TmpFile;

    MediaPlayer1.Play;

  finally
    ResStream.Free;
  end;
end;

要像这样播放我的资源中的声音:PlayAudio('Resource_1'); .wav 和 .mp3

它在 Windows 上运行良好,但是当我将它部署在 Android 上时,它不会播放任何声音,而且我仍然无法找到在 [=21] 上播放声音的很好解释的方法=] 来自我的资源。最好的方法是什么?

感谢@RemyLebeau 指出我需要使用

找到我的资源路径
TPath.Combine(TPath.GetDocumentsPath, 'filename')  { Internal }
TPath.Combine(TPath.GetSharedDocumentsPath, 'filename')  { External }

如果我部署到 android,但文件仍然不能 运行,然后我意识到我正在使用 .mp3 和 .wav。 我将它们转换为 .3gp,现在 android.

上的声音效果很好