2

我想在 Windows 和 MAC OS X 中播放系统声音。在 Windows 中播放声音使用了这样的东西

PlaySound('C:\Windows\Media\Windows Default.wav', 0, SND_FILENAME + SND_ASYNC);

我确定我必须使用 TMediaPlayer。

4

1 回答 1

3

你是对的,你可以使用TMediaPlayer组件,文档明确指出:

TMediaPlayer 播放音频文件和视频文件的音频部分。

要指定当前 TMediaPlayer 播放的媒体文件,请设置 FileName 属性。文件名必须包含文件的路径,以便它可以在内存上本地化,以及扩展名。调用PlayStop方法开始播放媒体文件,或者停止或暂停正在运行的媒体文件。当前位置通过 CurrentTime 属性指定。

TMediaPlayer 还公开媒体文件属性,例如 Duration、VideoSize、Volume 或 State。

关于支持的文件格式(TMediaCodecManager)

该文档指出以下内容:

使用 TMediaCodecManager 访问、管理和注册播放媒体文件时要使用的编解码器。

支持的媒体文件格式是每个平台的原生格式:

对于 Windows:
音频格式:.wma、.mp3、.wav
视频格式:.avi、.wmv

对于 Mac OS/iOS:
音频格式:.mp3、.caf
视频格式:.mov、.m4v、.mp4

使用 TMediaCodecManager,可以注册自定义媒体编解码器以扩展音频/视频功能支持。

快速示例:

procedure TForm1.Button1Click(Sender: TObject);
begin
 MediaPlayer1.FileName := 'D:\test.mp3';
 MediaPlayer1.Play;
end;

您应该能够跨平台在 Firemonkey 中播放 mp3 文件,但这超出了这个问题的范围。

于 2013-09-02T17:11:42.987 回答