【问题标题】:How do you store and play media files in a Delphi FireMonkey iOS application?如何在 Delphi FireMonkey iOS 应用程序中存储和播放媒体文件?
【发布时间】:2018-08-04 12:44:38
【问题描述】:

我编写了一个 FireMonkey 应用程序(Delphi 10.1 Berlin),其中包括声音,通过 TMediaPlayer 播放的 mp3:

MediaPlayer1.FileName := TPath.Combine(TPath.GetDocumentsPath,'aSound.mp3'); 
MediaPlayer1.Play;

在 Windows 上运行良好。对于该应用程序的移动版本,我得到了帮助来确定将来自this link 的声音文件放在哪里:

使用项目 |部署菜单项并选择 Android 和 iOS 设备平台,并为每一个单击“添加文件”按钮 本地工具栏以选择要与应用程序一起部署的位图文件,以及 为每个平台设置远程路径列值。

For Android, set the Remote Path to .\assets\internal
For iOS, set the Remote Path to StartUp\Documents

将文件添加到 \assets\internal 以进行 Android 部署也可以正常工作 - 声音按预期播放。

this SO question 的帮助下,我将应用程序加载到了 iOS 设备上。该应用程序运行良好——除了没有声音。其他应用程序仍然可以发出声音,所以我知道问题不在于 iPad。我尝试将iOS声音文件部署路径设置为Startup\Documents\StartUp\Documents(Delphi刚刚保存为Startup\Documents.

我做错了什么?

【问题讨论】:

  • “Delphi 刚刚保存为 Startup\Documents”。你是什​​么意思?如果你用大写的 U 输入它,它应该保持原样(也是正确的路径)。
  • @DaveNottage 我最终删除了这些文件,然后将它们重新添加到 StartUp\Documents。我的 ios 设备显示他们的路径为/var/mobile/Containers/Data/Application/756733A2-1702-424E-9D90-A6AC453EC0C6/Documents/aSound.mp3
  • 这是否意味着现在一切都好?
  • 很遗憾,不……我猜它一定是关于 iOS 上的 TMediaPlayer 的。
  • 刚刚在柏林文档中看到了同样的观点:[docwiki.embarcadero.com/Libraries/Berlin/en/… ...我会看看我是否能弄清楚如何转换文件格式和试试吧。但是,相同的文档说 MediaPlayer 不能在 Windows 或 Android 上播放 mp3 文件——而且它在这些操作系统上播放 mp3 格式对我来说很好。

标签: ios delphi media-player firemonkey delphi-10.1-berlin


【解决方案1】:

iOS在远程路径上区分大小写,你写的Startup\Documents\一定是StartUp\Documents\

还始终包括检查以确保文件存在FileExists,这样如果找不到文件,您的应用可以相应地处理它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-13
    • 1970-01-01
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    • 2023-04-08
    • 2021-01-26
    • 1970-01-01
    相关资源
    最近更新 更多