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

پخش موزیک در تمام اکتیوتی ها بدون اینکه دوباره از ابتدا اجرا بشود

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

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

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

من قصدم این هست که وقتی برنامه اجرا میشود و حالا بر فرض مثال 14 تا اکتیوتی هست در تمام این ها موزیک پخش شود " بدون اینکه دوباره از اول تکرار شود "

دستوری که من نوشتم یک اکتیوتی اصلی ایجاد کردم و بقیه اکتیوتی ها را زیر مجموعه این اکتیوتی قرار دادم و در این اکتویتی کد زیر را نوشتم

 public class Activity_1 extends Activity {

    public static MediaPlayer player;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        player = MediaPlayer.create(this, R.raw.music);
        player.setLooping(true); // Set looping
        player.setVolume(100, 100);
        player.start();
    }


    @Override
    protected void onPause() {
        super.onPause();
        player.stop();
    }

}

امیدوارم منظورم را خوب بیان کرده باشم

یاحق

نظرات

doost_fu 11 سال پیش
الان با این کد موزیک کلا پخش نمیشه یا موقع رفتن به اکتیویتی دیگر قطع میشه و یا قطع میشه و دوباره شروع میکنه ؟ البته یه حالت دیگه هم هست که قطع نمیشه و دوباره اجرا میشه !! کدوم ؟
AG255 11 سال پیش
سلام دوست بزرگوار موزیک پخش می شود اما دوباره از اول پخش میشود ولی وقتی از اکتیوتی 1 رفتم به اکتیوتی 2 موزیک دوباره پخش میشود و چون یک بار رفتم به این اکتیوتی ( شماره 2 ) موزیک همچنان در حال پخش است و دوباره پخش نمیشود ( در کل در صورتی که به هر اکتیوتی که حداقل یک بار بروم برای بار دوم موزیک از اول پخش نمی شود )
Mohammad 11 سال پیش
دوست من منظور شما اینکه که وقتی موزیک پلی شد همینطور اجرا بشه و شما به اکتیویتی های دلخواه بروید؟
AG255 11 سال پیش
دقیقا
h_r_v 11 سال پیش
امتحان کردید که در کلاس G موزیک اجرا کنید؟
AG255 11 سال پیش
بله دوست من در سایت که بالا عرض کردم تمام موارد را انجام دادم ولی موزیک از ابتدا اجرا میشود
AG255 11 سال پیش
آقای criss در بالا هم عرض کردم با رفتن به این لینک مشکل حل نشد
Spirit 11 سال پیش
برای این کار میتونید از Service استفاده کنید.
AG255 11 سال پیش
در قسمت service دقیقا باید چه دستوری نوشت چون دستور های مختلفی نوشتم اما برنامه بسته میشود
doost_fu 11 سال پیش
وقت ندارم تست کنم ولی فکر کنم مشکل از قسمت اکتیویتی پرنت باشه که از onCreat اون استفاده کردید چرخه حیات اکتیویتی ها رو ببینید ! " onResume "
AG255 11 سال پیش
با onResume هم همین اتفاق می افتد و باز از اول پخش میشود تشکر میکنم از تمامی دوستان که وقت گذاشتن امیدوارم مشکل حل شود
AG255 11 سال پیش
به نظر من اگر دستور شرطی قرار بدیم در اکتیوتی اصلی و بگیم اگر روی دکمه خروج ( اکتویتی 1 )کلیک شد و موافقم را انتخاب کرد آن وقت موزیک متوقف شود اما نمیدانم این دستور onclick شرطی به چه صورت هست چون فعلا تازه کار هستم
hamcalas 11 سال پیش
دوستمان spirit فمودند باید از سرویس استفاده کنید ، این لینک کمک می کنه ، لینک
AG255 11 سال پیش
دوست عزیز از طریق service من تا حالا کار نکردم ، اما از طریق همین لینک که فرمودین رفتم و همان کاری که گفته شده بود انجام دادم اما متاسفانه دیگر موزیک پخش نمیشود
Criss 11 سال پیش
شما میخواید با بسته شدن یک اکتیویتی موزیک قطع بشه و باز شدن یک اکتیویتی جدید دوباره از اول پخش بشه ؟
Criss 11 سال پیش
با توجه به این که شما اون بالا نوشتید < دقیقا < باید کدهای مربوط به پخش موزیک رو فقط درون کلاس G اجرا کنید
Criss 11 سال پیش
برای توقف موزیک هم < توی اکتیویتی دلخواه متد OnStop رو بزارید < و G.music.stop رو اجرا کنید
AG255 11 سال پیش
دوستان بزرگوار برنامه را از طریق دیگر حل کردم ، میخواهم بدانم اگر مثلا 3 اکتیویتی داریم با اولی میرویم به دومی و دومی به سومی و وقتی میخواهیم از طریق اکتیویتی دومی اکتیوتی اولی را هم ببندیم باید چکار انجام داد ( تمام اکتیور ها extends Activity هستند
Criss 11 سال پیش
پشنهاد میکنم برای این کار متد OnBackPeressed رو OverRide کنید < درونش هیچ کدی رو قرار ندید < حالا برای خروج از برنامه یک منو بسازید < حالا کد های دلخواهتون رو درون اون منو بنویسید
AG255 11 سال پیش
در اکتیویتی اول من آمدم موزیک قرار دادم و همچنان در حال اجرا هست و close نمی شود و با یک دکمه وارد اکتیویتی دوم ( اکتیویتی منو ها ) شدم و با اکتیویتی دوم با تعریف مثلا 10 دکمه وارد 10 اکتیوتی دیگر میشوم و من میخواهم با زدن دکمه خروج در اکتیوتی دوم ( اکتیویتی منو ها ) اکتیویتی اول هم اتوماتیک بسته شود اگر با کلاس G میشود این کار را انجام داد لطفا راهنمایی کنید ؟

پاسخ‌ها 1

Mohammad 11 سال پیش

این کد رو تست کن ببین به کارت میاد؟من تست کردم کار می کنه...همون کد خودته فقط onpause پاک کردم

 

player = MediaPlayer.create(this, R.raw.music);
player.setLooping(true); // Set looping
player.setVolume(100, 100);
player.start();
 

نظرات

AG255 11 سال پیش
دوست عزیز من می خواهم اتوماتیک موزیک پخش شود
AG255 11 سال پیش
از بابت پخش موسقی مشکلی ندارم ، مشکل اینجاست که با رفتن به اکتویتی دیگر دوباره از اول پخش میشود
Mohammad 11 سال پیش
من تست کردم درست کارکرد
Aref 11 سال پیش
یه اکتیویتی اولیه بساز که تو اون اکتیویتی موزیک شروع بشه بعد از ۰ ثانیه بره اکتیویتی اصلی و چون هیچوقت دیگه به اکتیویتی اولیه برنمیگرده پس موزیک همیشه پخش میشه ، تو این تاپیک کامل توضیح دادم (http://answers.uncocoder.com/question/4246/اجرای-فایل-صوتی-با-شروع-برنامه-و-پخش-در-تمام-صفحات)

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