LibGDX是否可以访问音乐选择器界面,以便能够在用户的音乐库(已经在设备上并且未与应用程序捆绑在一起的歌曲)中播放歌曲?
E.g。可以通过LibGDX调用上面的接口,并将所选文件返回给LibGDX音频对象吗?
答案 0 :(得分:0)
LibGDX支持各种类型的file handling - 其中一个是外部,它允许您读取SD卡上的文件。
虽然我不确定你的意思可以通过LibGDX调用上面的接口
答案是 - 是的,您可以从列表中选择文件,如果您知道它的位置。假设 .mp3 文件位于SD根位置,示例代码为:
Music music = Gdx.audio.newMusic(Gdx.files.external("music.mp3"));
您还应该能够使用以下方式列出文件列表:
FileHandle directory = Gdx.files.external(""); //external root directory!
for(FileHandle file : directory.list())
System.out.println(file.name());
当然,您也可以使用Gdx.files.external("music/all/")
等音乐目录。
请注意,您的应用需要具有从外部存储中读取的权限!在此处详细了解Permissions。
答案 1 :(得分:0)
有两种解决方案:
1-解释@ m.antkowicz答案: 您可以使用libgdx编写音乐选择器,您可以获得SD卡中的所有音乐文件列表......
2-如果您想调用默认的Android音乐选择器: 你最像核心项目的接口是这样的:
interface MusicPicker{
//@return selected path
public String showPicker();
}
并在android项目中实现它,在android项目中你可以调用音频选择器并获取文件路径@see How to open music picker?
我希望有用。