بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
سوالی در رابطه با player
سلام دوستان.من یک imageveiw بصورت زیر تعریف کرده ام:
ImageView img1 = (ImageView) findViewById(R.id.img1); // نام عکس ست شده: image1
حال می خوام وقتی بر روی این imageveiw کلیک شد دو کار زیر انجام بشه:
img1.setImageResource(R.drawable.image2);
player = MediaPlayer.create(Activity1.this, R.raw.abc); //abc:نمونه ای از یک فایل صوتی حدااکثر 6 ثانیه ای
player.setVolume(100, 100); player.start();
حال تنها مشکلی که دارم این هستش که نمیدونم از چه کدی بایستی استفاده کنم تا به محض تموم شدن پخش فایل صوتی کد زیر اجرا بشه:
img1.setImageResource(R.drawable.image1);
در واقع بصورت خلاصه هدفم ام این هستش که می خوام با کلیک شدن img1 هم image1 به image2 تبدیل بشه و هم فایل صوتی آغاز بشه و درست به محض تموم شدن پخش image2 به image1 برگرده.دو روش به نظرم رسید اما به جواب کارآمد و دقیقی نرسیدم:
روش 1(کمی پیچیده و کمی نادقیق-مشابه روش سرکشی)
img1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
img1.setImageResource(R.drawable.image2);
player = MediaPlayer.create(Lesson1.this, R.raw.abc);
player.setVolume(100, 100);
player.start();
for (int i = 1; i <= 6; i++) {
final Handler handler = new Handler();
handler.post(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(500);
}
catch (InterruptedException e) {
e.printStackTrace();
}
if ( !(player.isPlaying()))
img1.setImageResource(R.drawable.image1);
}
});
}
}
});
روش دوم( اصلا کار نکرد)
img1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
img1.setImageResource(R.drawable.image2);
player = MediaPlayer.create(Activity1.this, R.raw.abc);
player.setVolume(100, 100);
player.start();
while (player.isPlaying());
img1.setImageResource(R.drawable.image1);
}
});
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
اپلیکیشن ساز شاپینا
11 سال پیش
+4
0
از listener زیر استفاده کن :
player.setOnCompletionListener(new OnCompletionListener() {
public void onCompletion(MediaPlayer player) {
// اینجا عکس رو عوض کن
}
});
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .