سوال داشتم در مورد این که ایا استاد در جلو به در یافت موزیک از حافظه خود گوشی اشاره خواهند کرد اگر نه چطور میتونیم این کار رو انجام بدیم؟؟
سلام و احترام
در سرفصل قبل شما کار با فایلها اشنا شدید و برای عمیقتر شدن نیاز به خواندن داکیومنتیشن مربوطه و خواندن مقالهها و ویدیوهای مرتبط با نیاز شما هست .
چرا که موارد مربوط به فایلها تغییراتی زیادی رو داشته اند و شما برای اپدیت شدن نیاز به دانش بیرونی دارید و اصلا اینطور نیست که پس از دیدن هر سرفصل فکر کنید دیگر به خواندن و یادگیری ان موضوع نیازی ندارید.
پیشنهاد من به شما علاوه بر مطالعه منابع بیرونی خواندن سورس کدهای مختلف هست که در یادگیری شما بسیار موثر هست
اما من ویدیویی در مورد نیاز شما براتون در لینک زیر میذارم
دوست عزیز برای استفاده از فایلهای مدیا از حافظه باید از کتابخونه MediaStore استفاده کنی و به حافظه گوشی query بزنی من این قطعه کد رو برای music player خودم نوشته بودم البته زبان کاتلینه ولی باز فکر کنم طریقه استفاده کردن ازش دستت میاد.
override fun scanTracks(): ArrayList<Track> {
val array = ArrayList<Track>()
val uri = android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI
val projection = arrayOf(MediaStore.Audio.Media._ID,
MediaStore.Audio.Media.TITLE,
MediaStore.Audio.Media.ARTIST,
MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media.DURATION,
MediaStore.Audio.Media.ALBUM_ID)
val selection = "${MediaStore.Audio.Media.IS_MUSIC} != 0"
val sortOrder = "${MediaStore.Audio.AudioColumns.TITLE} COLLATE LOCALIZED ASC"
val cursor = context.contentResolver.query(uri, projection, selection, null, sortOrder)
if(cursor != null) {
cursor.moveToFirst()
while(!cursor.isAfterLast) {
val id = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media._ID)).toLong()
val title = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.TITLE))
val artist = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST))
val data = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DATA))
val duration = Track.convertDuration(cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DURATION)).toLong())
val albumId = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM_ID)).toLong()
cursor.moveToNext()
array.add(Track(id, title, artist, data, duration, albumId))
}
cursor.close()
}
return array
}