بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

شرط برای پخش و قطع صدا (راهنمایی لطفا)

مدیریت گفتگو
ali 10 سال پیش
آخرین تغییر: 10 سال پیش

سلام

فرض کنید دو تا دکمه کنار هم هست که هر کدام یک آهنگ مجزا دارن ،

1- می خوایم وقتی روی دکمه ی 1 کلیک شد صدا پخش شود و دوباره وقتی روی دکمه1 کلیک شد صدا قطع شود.

2- هنگامی که دکمه1 در حال پخش هست و دکمه ی 2 رو کلیک کردی آهنگ دکمه ی 1 قطع شود و آهنگ دکمه 2 پخش شود .

3- حالا ممکنه ما چندین دکمه داشته باشیم که بخوایم با زدن هر کدام عملیات بالا که گفتم اجرایی شود!

ممنون میشم راهنمایی کنید .

نظرات

mhD_mz 10 سال پیش
برای هر صدا یک Boolean تعریف کنید که در ابتدا مقدار false دارد پس از کلیک روی کلید تمام Boolean هایی که مقدار true دارند false شوند و boolean مربوط به کلید کلیک شده true شود و تا وقتی که این boolean مقدار true دارد صدا پخش شود.
ali 10 سال پیش
ممنون جواب دادید اما میشه یه نمونه کد از چیزی که گفتید بنویسید؟
MeY3am 10 سال پیش
از پروژه لامپ استاد استفاده کن و عملیات رو در onClickListener ها تعریف کن !
ali 10 سال پیش
مرسی mey3am جان، من هم از پروژه لامپ استفاده کردم ولی فقط یکبار اجرا میشه و وقتی استپ می کنم و دوباره دکمه رو می زنم ، دیگه آهنگ شروع نمیشه!!!
ali 10 سال پیش
البته این رو هم بگم من از Button استفاده نکردم و یک imageView دارم. گفتم این رو بگم شاید ...
کاشی زاده 10 سال پیش
یا باید یک آرایه داشته باشید که توی Media ها رو نگه داری کنید یا یک Media داشته باشید که همه صدا ها از اون پخش بشه و static باشه

پاسخ‌ها 2

ali 10 سال پیش

  public Boolean PlayingState = false;


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
imgBear = (ImageView) findViewById(R.id.imgBear);
imgBee = (ImageView) findViewById(R.id.imgBee);

imgBear.setOnClickListener(new OnClickListener() {

final MediaPlayer sound = MediaPlayer.create(ActivityFirst.this, R.raw.bear);


@Override
public void onClick(View v) {

if ( !PlayingState) {
sound.start();
PlayingState = true;
} else {
sound.stop();
PlayingState = false;
}

}
));
 من از این کد استفاده کردم 

وقتی آهنگ پخش میشه و دوباره دکمه رو کلیک کنی صدا قطع میشه ولی دوباره که دکمه رو کلیک می کنی صدا پخش نمیشه
 

نظرات

ali 10 سال پیش
واقعا کسی نیست کمک کنه؟
Criss 10 سال پیش
از این استفاده کنید sound.isPlaying()
Criss 10 سال پیش
البته اگر جای PlayingState = true رو با PlayingState = false; عوض کنید هم درست میشه
ali 10 سال پیش
ممنون جواب دادین ولی با sound.isplaying (); که اصلا کد از کار میفته و در مورد راه حل دومت صدا پخش میشه ولی دیگه قطع نمیشه!!!
Criss 10 سال پیش

این رو قبلا من تست کردم جواب گرفتم < تاپیک های قبلیم رو دنبال کنی ، یه تاپیک خوبی بود بدردت میخوره مطالعه کنی

//G class
public static MediaPlayer player;

//Activity
G.player = MediaPlayer.create(G.context, R.drawable.slmkh);
try {
G.player.prepare();
}
catch (IllegalStateException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
G.player.start();

//On MEdia Compelete
G.player.setOnCompletionListener(new OnCompletionListener() {

@Override
public void onCompletion(MediaPlayer arg0) {
G.player.reset();
G.player.release();
}
});
//Stop
  G.player.stop();
G.player.reset();
G.player.release();

 

 

نظرات


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