Delphi FMXフレームワークでm4aサウンドファイルを再生するWindowsアプリを作成する
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/
Author And Source
この問題について(Delphi FMXフレームワークでm4aサウンドファイルを再生するWindowsアプリを作成する), 我々は、より多くの情報をここで見つけました https://qiita.com/p_kato/items/8d3fc7e847a8e46d04bb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .