如何使用Firemonkey播放从TMediaPlayer中的URL加载的.mp3文件?

时间:2015-04-30 17:31:44

标签: mp3 media-player firemonkey playback delphi-xe7

有没有办法在Delphi XE7中使用带有Firemonkey的TMediaPlayer从URL播放.mp3文件?这个代码不起作用;

MediaPlayer1.FileName := 'http://wwww.some_site.com/some_song.mp3';
MediaPlayer1.Play;

它抛出了一个未找到文件的例外,所以我认为TMediaPlayer只适用于本地文件,不是吗?请,任何帮助都非常感谢,非常感谢。

1 个答案:

答案 0 :(得分:0)

设置TMediaPlayer.FileName属性时,它只是从指定路径的末尾(后面的所有内容,包括最后的.字符)提取文件扩展名,找到该扩展名的已注册编解码器,然后告诉编解码器按原样加载FileName值。编解码器返回TMedia对象,然后TMediaPlayer用于根据需要播放/控制媒体。默认情况下,FireMonkey仅为本地文件实现TMedia个类。

您必须实现自定义TMedia派生类来处理流媒体,并使用TCustomMediaCodec派生类(使用TMediaCodecManager.RegisterMediaCodecClass()注册自定义文件扩展名)来创建你的TMedia课程。然后,您可以为以您的扩展名结尾的TMediaPlayer.FileName分配一个网址(真正的网址不会,因此您的编解码器必须在访问该网址之前将其删除),例如:

MediaPlayer1.FileName := 'http://wwww.some_site.com/some_song.mp3.myext';