有什么方法可以在Delphi XE5/Android平台上播放声音警报/提示音?

我要实现的目标是如何使用Beep功能播放类似于Windows应用程序的系统警报/蜂鸣声,或者至少找到系统音频文件的路径,以便我可以基于事件运行特定的音频文件。

最佳答案

我最终使用资源文件来播放我的自定义音频文件。

步骤:

  • 从Delphi IDE中单击“项目”。
  • 然后选择“资源和图像...”。
  • 选择您的媒体文件并将其设置为RCDATA。
  • 记住您的资源标识符。

  • 注意:请确保TMediaPlayer支持媒体类型,否则它将不起作用。

    德尔福程序:
    procedure PlayAudio(ResourceID: string);
    var
      ResStream: TResourceStream;
      TmpFile: string;
    begin
      ResStream := TResourceStream.Create(HInstance, ResourceID, RT_RCDATA);
      try
        TmpFile := TPath.Combine(TPath.GetTempPath, 'tmp.mp3');
    
        ResStream.Position := 0;
        ResStream.SaveToFile(TmpFile);
        MediaPlayer1.FileName := TmpFile;
    
        MediaPlayer1.Play;
    
      finally
        ResStream.Free;
      end;
    end;
    

    用法:
    PlayAudio('Resource_1');
    

    关于android - 在Delphi XE5/Android平台上播放声音警报/提示音,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20027769/

    10-10 18:30