使用 App Inventor 构建的应用程序可以从三种不同的位置访问声音、图像和视频源:
- 应用程序资产
-
“界面设计”视图中显示的标记为 媒体 的源(应用程序的 assets 的一部分)与应用程序打包在一起。 安装你的应用程序的任何人都将拥有它们,作为应用程序的一部分。 你还可以在设计器中指定它们,这很方便。 你还可以通过文件名在程序中指定它们:只需使用不带任何特殊前缀的文件名。 例如,如果你有一个名为 kitty.png 的图像资源,则可以将其用作图像:只需将图像组件的“Picture”属性设置为文本 kitty.png。 你可以类似地使用声音(声音或播放器)或视频(视频播放器)的文件名。
资产使用起来最方便,但它们的空间仅限于几兆字节,因为它们必须与应用程序一起打包。 它们适合小图像和短音频选择,你可能不会将它们用于完整的歌曲或视频。
- 设备存储
-
你可以使用以 /sdcard 开头的文件名访问手机 SD(安全数字)卡上的文件。 你可以通过将“Player”组件的源设置为来播放 SDCard 上的歌曲
/sdcard/Music/Heart of Glass.mp3
,并启动“音频播放器”(当然,假设歌曲文件位于 SDCard 上),确保指定完整的文件名,包括“mp3”。Android系统还包括另一种将SDCard文件设计为URL的方法。 在这里,你可以使用 file:///sdcard 作为文件名前缀,并对特殊字符使用“URL 编码”。 例如,空格是“%20”。 因此,你可以通过将播放器源设置为来指定相同的文件:
file:///sdcard/Music/Heart%20of%20Glass.mp3
,请注意,你需要为此使用“音频播放器”组件,而不是“音效”组件。 像这样的完整歌曲对于“Sound”来说太大了,无法处理。图像和视频可以类似地指定。
App Inventor(尚)不包含任何在 SD 卡上存储文件的方法。 它还不包括列出 SDCard 上文件的方法。 为此,你必须使用其他应用程序或 Android 手机文件管理器。
与尝试将内容打包为资产相比,使用 SD 卡可以为媒体提供更多空间。 缺点是用户不会通过安装你的应用程序自动获得它们。
- URL 和 Web
-
可以使用以 http:// 开头的 URL 来访问 Web 上的文件,例如将图像的图片属性设置为:http://www.google.com/images/srpr/nav_logo14.png
音乐和视频也是如此,确保使用指向实际文件的链接,而不是指向文件播放器的链接,这在网络上更为常见,尤其是音乐和视频。
- 其他内容 URL
-
Android 系统还使用 URL 来访问手机上存储媒体的各个位置。 例如,可以使用以 content://media/external/images/media 开头的文件名来访问照片库中的图像,正如你通过使用“图像选择器”组件并检查生成的图像路径所看到的那样。