我需要使用用户的播放列表和他们的音乐应用中的歌曲来浏览用户设备上的音频文件,然后将选定的音频文件传递给我们的播放器。在Android上浏览音频文件
Android MediaStore
是否包含所有音频文件的主副本以及我从其他应用程序中设置的用户定义的播放列表?我正在寻找类似于iOS上的MediaLibrary
的API。
的MediaStore Reference Documentation不给我就如何实际使用API足够的细节,它似乎并没有在文档的Training,API Guides或Samples部分覆盖。 Random Music Player sample似乎已过时,并且不会与Android Studio一起编译。
我假设我的浏览器代码需要存在于服务中。对?有没有可用的示例/文档?
Content Provider
API怎么样?这有时会出现在代码示例中,但不清楚它是否可以访问用户的音频文件。
我试图使用下面的意图,但他们没有给我以我需要的方式访问音频文件。是否有应该使用的现有意图?
使用Intent.ACTION_GET_CONTENT
调出设备上文件系统的文件浏览器,显示音频文件。关闭,但不完全是这里需要的。
private fun pickAudioFileWithACTION_GET_CONTENT() {
val intent = Intent(Intent.ACTION_GET_CONTENT)
intent.setType("audio/*")
val chooserIntent = Intent.createChooser(intent, "Select soundfile")
startActivityForResult(chooserIntent, SELECT_MUSIC)
}
使用MediaStore.INTENT_ACTION_MEDIA_SEARCH
允许有一个选择器也是扮演一个应用程序的选择。我无法控制发生的事情,所以我不认为这是需要的。
private fun pickAudioFileWithMediaStoreINTENT_ACTION_MEDIA_SEARCH() {
val mediaSearchIntent = Intent(MediaStore.INTENT_ACTION_MEDIA_SEARCH)
val mediaSearchChooserIntent = Intent.createChooser(mediaSearchIntent, "Select soundfile")
startActivityForResult(mediaSearchChooserIntent, SELECT_MUSIC)
}
有关如何工作的建议以及指向文档和/或示例的指南,我们将不胜感激。
非常有帮助 - 它让我走上了正确的轨道。你的工作样本确实有助于弄清楚这是如何工作的。谢谢。 –