کلیدستان

نسخه‌ی کامل: کار با صدا در اکلیپس (در برنامه نویسی اندروید)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
 سلام چندتا سؤال برنامه نویسی پخش صدا در اکلیپس
سؤال یک
چرا وقتی که موسیقی را پخش میکنم وقتی که تموم شد دوباره خود به خود پخش میشه و توقف نمیکنه تا اینکه دکمه توقف را بزنم؟
سؤال دو
چرا وقتی یک موسیقی را پخش میکنم و اگر موسیقی دومی را پخش کنم هردو پخش میشن چرا اولی قطع نمیشه؟

اگه میتوانید هر چه سریع تر مرا راهنمایی کنید ممنون میشم
با تشکر
سلام
با روش release که کدهاش در زیر اورده شده میتونید حالت توقف را به مدیا پلیر تون بدین

کد پی‌اچ‌پی:
mediaPlayer.stop();
mediaPlayer.release(); 

همچنین لینک های زیر را که مربوط به همین سایت هست و مشابه موضوع شماست را قرار دادم بد نیست نگاهی بندازید بهشون
http://www.kelidestan.com/keys/categorie...Category=8
http://www.kelidestan.com/forum/showthread.php?tid=4923
سلام
با تشکر از اینکه جواب دادین
حتما موضوعم را برعکس بخاطر سپردی
من میخوام کاری کنم که اگر موسیقی را پخش کردم انباید برم توقف را بزنم و برم بعدی را پخش کنم
میخوام مستقیم موسیقی دومی از یک دکمه دیگر پخش کنم ولی باید خود به خود موسیقی اولی توقف کنه بعد موسیقی دومی روشن بشه

لطفا زیاد توضیح بدید
من هنوز تازه وارد هستم

 
با سلام
جواب سوال 1
شما درون کدهاتون اون true رو به false تغییر بدید. این کار باعث میشه بعد از اتمام موسیقی دوباره از اول پخش نشه.
جواب سوال 2
دو موسیقی شما در یک اکتیویتی هستند؟
به نظرم بشه یه کاری کرد. ولی چون نمی دونم شما از چه کدی استفاده کردید نمیشه توضیح داد. اگه امکان داره کد اون اکتیویتی رو اینجا بذارید تا راهنماییتون کنم

 
 
کد پی‌اچ‌پی:
                Button b_1 = (ButtonfindViewById(R.id.button1);
                b_1.setOnClickListener(new OnClickListener() {
                                         
                     
@Override
                     public void onClick
(View v) {
                         player MediaPlayer.create(MainActivity.thisR.raw.music);
                         player.setLooping(true); // Set looping
                         player.setVolume(100,100);
                         player.start();
                     }
                });
               
                Button b_2 
= (ButtonfindViewById(R.id.button2);
                b_2.setOnClickListener(new OnClickListener() {
                                         
                     
@Override
                     public void onClick
(View v) {
                         player.stop();
                     }
                });
        

ممنون از جواب سؤال اولی بله درست شد
و اما دومی بله در موسیقی در یک اکتیویتی هستند
و کدها هم مثل کدهای زیر میزنم
سلام مجدد
این کدهایی که فرستادید برای پخش و توقف یک موزیک هستش. من عرض کردم کل کدها رو بذارید

ولی روشی که من مد نظرم هست. 1 دکمه توقف کلی داریم و دو تا دکمه ی پخش موسیقی مثل کد پخش بالا به نام button1 و مثلا button3
متغییر player رو برای موسیقی 1 در نظر بگیرید player2  رو برای موسیقی 2
برای موسیقی اول که خودتون کدش رو نوشتید
(شما احتمالا از این کلید استفاده کردید  http://www.kelidestan.com/keys/keys.php?key=269)
و بالای کدهات هم باید همچین چیزی باشه که اینجا نذاشتیش

        public MediaPlayer player;

خب حالا این رو زیر خط بالا اضاقه کن

        public MediaPlayer player2;
بعد از این که این کارو کردی
حالا کدهای مربوط به دکمه ی پخش موسیقی رو دوباره کپی کن و button1  را به button 3 تغییر بده
حالا 2 تا دکمه پحش به نام های button 1 و button3 داری
زیر قسمتی که مال پخش موزیک اول هست نوشته player.start(); حالا شما زیر این کد بنویس player2.reset();
همین کارو برای دکمه ی پخش دومی که button3 باشه انجام بده با این تفاوت که زیر کد player2.start();  بنویس player.reset();

با این کار وقتی شما دکمه ی button1 را برای پخش موسیقی بزنید اگه موسیقی دوم در حال پخش باشه ریست میشه و بلعکس

اینا امتحان کنید ببینید جواب می گیرید با نه
موفق باشید


 
کاری که گفتید انجام دادم ولی ارور داد چرا؟
به نظرم اول باید پخش بشه بعد توقف بشه موسیقی و نمیتوان اول ریست کرد بخاطر همین ارور داد مگه نه؟

اگه یک روش دیگه دارید لطفا راهنمایی کنید


 
با زدن دکمه پخش موسیقی اول ، موسیقی دوم قطع می شه و بلعکس

مطمئن هستی که کدها رو در جای مناسب نوشتید؟
بله مطمئنم مثل کدهای زیر
لطفا مرا را راهنمایی کنید
Public MediaPlayer player;
Public MediaPlayer player2;

Button b1 =(button) findviewbyid(R.id.button1)
و الی دکمه چهار

B1.set onclicklistener() {
@override
public void onclick(view arg0) {

Player mediaplayer. Create(mainactivity.this, r.raw.musicone);
Player. Setlooping(false); // set looping
player. Setvolume(100.100);
Player.start();
Player2. Reset;

}
});

B1.set onclicklistener(new onclicklistener() {

@override
public void onclick(view arg0) {

Player. Stop();
Player. Release();
}
});

و دکمه های سه و چهار هم بلعکس

 
آیا نمیخواد ریشه ای یا چیزی تعریف کنیم؟
پس چرا ارور میده؟

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