تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ رحیم محمودزاده
در مورد خواندن موزیک از حافظه گوشی
پوریا شفیعی حل شده توسط پوریا شفیعی

سلام خسته نباشید 

سوال داشتم در مورد این که ایا استاد در جلو به در یافت موزیک از حافظه خود گوشی اشاره خواهند کرد اگر نه چطور می‌تونیم این کار رو انجام بدیم؟؟

سلام و احترام

 

در سرفصل قبل شما  کار با فایل‌ها اشنا شدید و برای عمیق‌تر شدن نیاز به خواندن داکیومنتیشن مربوطه و خواندن مقاله‌ها و ویدیو‌های مرتبط با نیاز شما هست .

چرا که موارد مربوط به فایل‌ها تغییراتی زیادی رو داشته اند و شما برای اپدیت شدن نیاز به دانش بیرونی دارید و اصلا اینطور نیست که پس از دیدن هر سرفصل فکر کنید دیگر به خواندن و یادگیری ان موضوع نیازی ندارید.

پیشنهاد من به شما علاوه بر مطالعه منابع بیرونی خواندن سورس کد‌های مختلف هست که در یادگیری شما بسیار موثر هست

اما من ویدیویی در مورد نیاز شما براتون در لینک زیر میذارم 

لینک مورد نظر :

https://www.youtube.com/watch?v=tUL8s484CzM

 

 

بهترین پاسخ
پوریا شفیعی ۱۸ آذر ۱۳۹۹، ۱۷:۴۷

دوست عزیز برای استفاده از فایل‌های مدیا از حافظه باید از کتابخونه 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
    }
علی باقری ۲۰ آذر ۱۳۹۹، ۰۶:۴۰