کلیدستان

نسخه‌ی کامل: پخش صدا (در برنامه نویسی اندروید)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام. خسته نباشید.
ببخشید من میخام در برنمم صدایی رو پخش کنم  اما با این تفاوت که نام از دیتابیس گرفته میشه .
من لیست ویو دارم و با کلیک بر هرکدام به صفحه ای میره و متنی و رو نسونو میده حالا میخام تو همون صفحه صدای مربوط به همون متنو پخش کنم.
همه کاراش انجام شده فقط اون نامای رو که دریافت میکنم نمیدونم چ جوری با اون نام فایل صوتی که تو پوشه raw هستش برابر قرار بدم.
لطفا کمک کنید.
دوست عزیز نمیدونم درست متوجه شدم یانه..شما میخواید با کلیک برروی ایتم لیست ویو ، وارده صفحه ای دیگه ای بشید .بعدش اونجا صدا پخش شه و متن مناسب اون نمایش داده بشه؟..
برای اینکار
کافیه توی صفحه اول ،دو آرایه بسازید..که یک آرایه متن موردنظر برای نمایش و یک آرایه  ادرس برای پلی کردن آهنگ ..برای اینکار دو آرایه تعریف کنید.فرض کنید سه آهنگ در فایل raw دارید که به نامهای ahang1,ahang2,ahang3 وجود دارد.

کد پی‌اچ‌پی:
int ahang={R.raw.ahang1,R.raw.ahang2,R.raw.ahang3}    
 
String  name={"متن1","متن2","متن3"}; 

حالا داخل شنونده لیست ویو این مقادیر رو ارسال کنید.یعنی اگر ایتم اول کلیک شد،آهنگ اول و متن اول ارسال ..اگر آیتم دوم کلیک آهنگ دوم و متن دوم ارسال .......
برای اینکار

کد پی‌اچ‌پی:
list.setOnItemClickListener(new OnItemClickListener() {

            @
Override
            
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
                    long arg3) {
Intent x=new Intent(MainActivity.this,SecoundActivity.class);
x.putExtra("ahang", ahang[position]);
x.putExtra("name", name[position]);
StartActivity(x);


شما حالا ادرس و متن موردنظر را ارسال کردید..حالا کافیه داخل اکتیویتی دوم(صفحه دوم)‌این مقادیر رو بگیرید و استفاده کنید

کد پی‌اچ‌پی:
Intent X=getIntent();
int ahang=X.getIntExtra("ahang"0);
String name=X.getStringExtra("name"); 

با دستور بالا ادرس پخش آهنگ در متغییر ahang و متن آهنگ  در متغییرname ذخیره شده..حالا میتونید کارای مناسب رو روش انجام دهید
مثلا برای پخش آهنگ از دستور زیر

کد پی‌اچ‌پی:
mp=MediaPlayer.create(getApplicationContext(), ahang);     
mp.start(); 

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


موفق باشید