Просматривая исходный код FM, вы найдёте мультимедийные компоненты (TMediaPlayer, TMediaPlayerControl) и списки поддерживаемых форматов для каждой платформы.
Посмотреть исходный код можно только в версиях Professional и выше, исходный код не включён в версии Trial и Starter. Для этого необходимо пройти по пути "C:\Program Files (x86)\Embarcadero\RAD Studio\12.0\source\fmx", в папке исходных кодов найдите файлы с таким шаблоном имени FMX.Media*.pas. Для XE5 это FMX.Media.pas, FMX.Media.Win.pas, FMX.Media.Mac.pas, FMX.Media.iOS.pas and FMX.Media.Android.pas.
Заглянув в сходный код каждого из файлов, вы обнаружите такие строчки:
iOS: TMediaCodecManager.RegisterMediaCodecClass('.mov', SVMOVFiles, TMediaType.Video, TAVMediaCodec); TMediaCodecManager.RegisterMediaCodecClass('.m4v', SVM4VFiles, TMediaType.Video, TAVMediaCodec); TMediaCodecManager.RegisterMediaCodecClass('.mp4', SVMP4Files, TMediaType.Video, TAVMediaCodec); TMediaCodecManager.RegisterMediaCodecClass('.mp3', SVMP3Files, TMediaType.Audio, TAVMediaCodec); TMediaCodecManager.RegisterMediaCodecClass('.caf', SVCAFFiles, TMediaType.Audio, TAVMediaCodec); Android: TMediaCodecManager.RegisterMediaCodecClass('.mov', SVMOVFiles, TMediaType.Video, TAndroidVideoCodec); TMediaCodecManager.RegisterMediaCodecClass('.m4v', SVM4VFiles, TMediaType.Video, TAndroidVideoCodec); TMediaCodecManager.RegisterMediaCodecClass('.mp4', SVMP4Files, TMediaType.Video, TAndroidVideoCodec); TMediaCodecManager.RegisterMediaCodecClass('.mp3', SVMP3Files, TMediaType.Audio, TAndroidMediaCodec); TMediaCodecManager.RegisterMediaCodecClass('.caf', SVCAFFiles, TMediaType.Audio, TAndroidMediaCodec); TMediaCodecManager.RegisterMediaCodecClass('.3gp', SV3GPFiles, TMediaType.Audio, TAndroidMediaCodec); Windows: TMediaCodecManager.RegisterMediaCodecClass('.avi', SVAviFiles, TMediaType.Video, TWindowsMediaCodec); TMediaCodecManager.RegisterMediaCodecClass('.wmv', SVWMVFiles, TMediaType.Video, TWindowsMediaCodec); TMediaCodecManager.RegisterMediaCodecClass('.mp4', SVMP4Files, TMediaType.Video, TWindowsMediaCodec); TMediaCodecManager.RegisterMediaCodecClass('.m4v', SVMP4Files, TMediaType.Video, TWindowsMediaCodec); TMediaCodecManager.RegisterMediaCodecClass('.mov', SVMOVFiles, TMediaType.Video, TWindowsMediaCodec); TMediaCodecManager.RegisterMediaCodecClass('.wma', SVWMAFiles, TMediaType.Audio, TWindowsMediaCodec); TMediaCodecManager.RegisterMediaCodecClass('.mp3', SVMP3Files, TMediaType.Audio, TWindowsMediaCodec); TMediaCodecManager.RegisterMediaCodecClass('.wav', SVWAVFiles, TMediaType.Audio, TWindowsMediaCodec); Mac OSX: TMediaCodecManager.RegisterMediaCodecClass('.mov', SVMOVFiles, TMediaType.Video, TQTMediaCodec); TMediaCodecManager.RegisterMediaCodecClass('.m4v', SVMP4Files, TMediaType.Video, TQTMediaCodec); TMediaCodecManager.RegisterMediaCodecClass('.mp4', SVMP4Files, TMediaType.Video, TQTMediaCodec); TMediaCodecManager.RegisterMediaCodecClass('.avi', SVAviFiles, TMediaType.Video, TQTMediaCodec); TMediaCodecManager.RegisterMediaCodecClass('.wav', SVWAVFiles, TMediaType.Audio, TQTMediaCodec); TMediaCodecManager.RegisterMediaCodecClass('.mp3', SVMP3Files, TMediaType.Audio, TQTMediaCodec);
Вы можете использовать вызовы RegisterMediaCodecClass в своих приложениях для поддержки дополнительных форматов, если они поддерживаются используемой платформой.
Вот несколько заметок, относящихся к мультимедиа из документации XE5:
- При записи с микрофона (TCaptureDeviceManager.Current.DefaultAudioCaptureDevice), необходимо сохранять файлы, используя следующие расширения: .CAF на iOS и .3GP на Android.
- По умолчанию в "Uses Permissions" не выставлено разрешение на запись аудио. Если вы хотите чтобы ваше приложение имело возможность записи звука, то вы должны поставить галочку в пункте "Record audio"
p.s. Это вольный перевод статьи Delphi XE5 iOS and Android media file formats supported (Автор: David Intersimone)