LibGDX访问设备音乐库中的音频文件

时间:2016-02-21 01:23:12

标签: libgdx

LibGDX是否可以访问音乐选择器界面,以便能够在用户的音乐库(已经在设备上并且未与应用程序捆绑在一起的歌曲)中播放歌曲?

E.g。可以通过LibGDX调用上面的接口,并将所选文件返回给LibGDX音频对象吗?

2 个答案:

答案 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?

我希望有用。