آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

آموزش ساخت موزیک پلایر(Music Player) (پوشه Asset)

Shadow  10 سال پیش  10 سال پیش
+24 0

خوب امیدوارم این آموزش به دردتون بخوره چون من خیلی روش کار کردم تا به نتیجه رسیدم پس (تشکر)-(لایک) یادتون نره ؟!

من زیاد توضیح نمی دم چون سخت نیست .

میریم سراغ کدها :

ابتدا فایل های موجود در پوشه Asset رو داخل حافظه گوشی ذخیره می کنیم این کار رو می تونید هنگام اجرای برنامه یا بعد کلیک رو یه دکمه انجام بدید :

File extStore = Environment.getExternalStorageDirectory();
File myFile = new File(extStore.getAbsolutePath() + "/Paiezi");
if (myFile.exists()) {} else {
new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/NewFolder").mkdir();
copyAssets();
pd.cancel();

}

 خوب حالا آهنگ های داخل پوشه ای که ایجاد کردیم رو با این کد لیست شون رو بر می گردونیم :

private static final String SD_Path = new String(Environment.getExternalStorageDirectory().toString() + "/NewFolder/");

public ArrayList<String> findSongs(String root) {
ArrayList<String> songs = new ArrayList<String>();
File home = new File(SD_Path);
if (home.listFiles(new Mp3Filter()).length > 0) {
for (File file: home.listFiles(new Mp3Filter())) {
songs.add(file.getName());
}

}
return songs;
}

این هم کلاس MP3Filter که فقط لیست فایل های که شmp3 هستن رو برمی گردونه:

 class Mp3Filter implements FilenameFilter {

@Override
public boolean accept(File dir, String name) {
// TODO Auto-generated method stub
return (name.endsWith(".mp3"));
}
}

هم اکنون شما با ایجاد یک لیست ویوو یه حلقه for به صورت زیر قادر خواهید بود لیست آهنگ ها رو مشاهده کنید

ListView lv = (ListView) findViewById(R.id.listView1);
final ArrayList<String> mySongs = findSongs(SD_Path);
String[] items = new String[mySongs.size()];

for (int i = 0; i < mySongs.size(); i++) {
items[i] = mySongs.get(i).replace(".mp3", "");
}
ArrayAdapter<String> adp = new ArrayAdapter<String>(getApplicationContext(), R.layout.listactivity_item, R.id.txt, items);
lv.setAdapter(adp);

بعد از انجام این کار می خوایم با کلیک روی هر آهنگ از لیست به اکتیویتی دیگه بره و اونجا پخش بشه :

 lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
startActivity(new Intent(getApplicationContext(), Player.class).putExtra("pos", position).putExtra("songList", mySongs));

}

خوب الان توی اکتیویتی دوم هستم خوش اومدین الان باید با استفاده از مقادیری که با اینتنت فرستادیم اون آهنگ رو پخش کنیم :

        Intent i = getIntent();
Bundle b = i.getExtras();
ArrayList<String> myList = (ArrayList) b.getParcelableArrayList("songList");
int position = b.getInt("pos", 0);

و پخش آهنگ :

 Uri u = Uri.parse(Environment.getExternalStorageDirectory().toString() + "/NewFolder/" + myList.get(position).toString());
  MediaPlayeق mp = MediaPlayer.create(getApplicationContext(), u);
mp.start();

امیدوارم که مشکلی براتون پیش نیومده باشه و براتون مفید بوده باشه لایک یادت نره ؟ً!

0 0
من کدهارو مطالعه نکردم کاملاً ، دقیقاً کار اینا به این صورته که تمام فایل های mp3 داخل گوشی رو به آرایه اضافه میکنه؟ (10 سال پیش)
0 0
نه دوست گرامی فایل های رو که داخل پوشه asset پروژه گذاشتی رو توی حافظه گوشی داخل یه پوشه ذخیره می کنه و سپس اون فایل ها رو به آرایه اضافه می کنه. (10 سال پیش)
0 0
کارت عالیه، یه مشکل داشتم یک هفته بود حل نمی شد با خوندن کد شما تونستم مشکلم رو حل کنم،دمت گرم کدی که نوشتی و درست کار میکنه رو به اشتراک میذاری. (10 سال پیش)
0 0
خواهش می کنم دوست عزیز (10 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
مهدی  10 سال پیش
0 0

اگه بخوایم آهنگ رو از اینترنت دانلود بعد پخشش کنیم ، چی کار باید کرد ؟

0 0
از ویدیو دانلودر استاد استفاده کنید و در sd ذخیره کنید . و بعد از اطمینان از دانلود کامل فایل میتونید اون رو پلی کنید... (10 سال پیش)
پاسخ به سوال 
ayhan  10 سال پیش
0 0

از دوستان کسی سورس برنامه بالا رو داره میتونه در اختیارم بزاره تو یه قسمتهایی به ارورر برمیخورم که گیر میکنم 

ممنونم

پاسخ به سوال 
رامین پارسه  10 سال پیش
0 0

پرمیشناش یادت رفت دوست عزیز

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

در کل بهتر بود با استفاده از position توی لیست ویو میذاشتی آهنگی که میخوان رو ذخیره کنن

چون اینجوری که گذاشتین هم فضایی از خود اپ اشغال شده هم به خاطر ذخیره سازیش


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .