我需要使用用戶的播放列表和他們的音樂應用中的歌曲來瀏覽用戶設備上的音頻文件,然後將選定的音頻文件傳遞給我們的播放器。在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)
}
有關如何工作的建議以及指向文檔和/或示例的指南,我們將不勝感激。
非常有幫助 - 它讓我走上了正確的軌道。你的工作樣本確實有助於弄清楚這是如何工作的。謝謝。 –