4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

DelphiAdvent Calendar 2017

Day 7

Delphi FMXフレームワークでm4aサウンドファイルを再生するWindowsアプリを作成する

Last updated at Posted at 2017-12-06

DelphiのFMXフレームワークを使うと簡単にサウンドファイルを再生できます。
例えばhoge.mp3ファイルを再生する場合には,FormにTMediaPlayerを張り付けて以下のように記述します。

uses
  FMX.Media;

MediaPlayer1.FileName := 'hoge.mp3';
if MediaPlayer1.Media<>nil then begin
  MediaPlayer1.Play;
end;

これ以外にも,TMediaPlayerは,Stopメソッドや,CurrentTime,Duration,Volume,State などのプロパティも利用できます。

そこで,Windowsで利用できるサウンドファイルを調べてみました。
http://docwiki.embarcadero.com/Libraries/Tokyo/ja/FMX.Media.TMediaCodecManager
によると,

wma .mp3 .wav

となっています。m4aファイルは実装されていません。これはDirectXにコーデックがないためと思われます。
そこで,DirectXのコーデックを
http://www.majorgeeks.com/files/details/windows_8_codecs.html
よりダウンロードしてインストールしました。
さらに,以下のコードをTMediaPlayerの配置されるフォームに記述しました。

initialization
  TMediaCodecManager.RegisterMediaCodecClass('.m4a', 'm4a Files', TMediaType.Audio, TWindowsMediaCodec);

そうすると,

MediaPlayer1.FileName := 'hoge.m4a';
if MediaPlayer1.Media<>nil then begin
  MediaPlayer1.Play;
end;

でhoge.m4aファイルを再生することができました。

####追記

MSDN
https://msdn.microsoft.com/ja-jp/library/windows/desktop/dd757927(v=vs.85).aspx
によると,m4aファイルがコーデックのインストールなしに利用できると書かれています。もしかすると,mfpackを使うとコーデックのインストールなしにできるかもしれません。
https://sourceforge.net/projects/mfpack/

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?