ورود

View Full Version : صدا در برنامه



darkhah1
شنبه 18 بهمن 1393, 09:25 صبح
چطوری میشی که با باز کردن برنامه به یه اکتویتی خاص که رسید آهنگی شروع به پخش بشه و با خارج شدن از اون آهنگ قطع بشه؟؟؟

gilas1368
شنبه 18 بهمن 1393, 09:27 صبح
شما باید توی متد onResume تابع اجرای موزیکتون رو فراخوانی کنین
و در متد onDimiss اون شی player رو stop کنین

Ebrahimkh
شنبه 18 بهمن 1393, 14:13 عصر
تو تابع onStart() اکتیویتی موردنظر آهنگت رو بزار یا تو تابع onCreate() اینجوری زمان
رفتن به اکتیویتی مورنظر آهنگتون play میشه و در تابع onResume() هم صدا رو stop کنید

#root#
شنبه 18 بهمن 1393, 16:00 عصر
و در متد onDimiss اون شی player رو stop کنین
activity این متد رو که نداره :اشتباه:


تو تابع onStart() اکتیویتی موردنظر آهنگت رو بزار یا تو تابع onCreate() اینجوری زمان
رفتن به اکتیویتی مورنظر آهنگتون play میشه و در تابع onResume() هم صدا رو stop کنید
اول یه کم تفکر کنید :لبخند: بعد راهنمایی کنید، با این وضع هیچی صدایی پخش نمیشه.

Ebrahimkh
شنبه 18 بهمن 1393, 16:15 عصر
سلام دوست عزیز ممکنه بگویید براچی پخش نمیشه


بنده چنین پروژه ای رو ساختم که اینجا دارم جواب میدم

نمیدونم دلیل اینکه می گویید اجرا نمیشه چیه ؟؟؟!؟!!



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

#root#
شنبه 18 بهمن 1393, 17:14 عصر
با سورس کدتون کاری ندارم،
شما چرخه حیاط activity رو نگاه کنید،
سه تا متدی که نام بردید پشت سر هم اجرا میشن تا به مرحله activity running برسیم،
پس نمیشه تو یکی پخش بشه بلافاصله تو بعدی قطع بشه.

Ebrahimkh
شنبه 18 بهمن 1393, 17:14 عصر
دوست عزیز این یه نمونه سورسه که با کمی دستکاری می تونه کمکتون کنه



http://stackoverflow.com/questions/7928803/background-music-android

Ebrahimkh
شنبه 18 بهمن 1393, 17:19 عصر
با سورس کدتون کاری ندارم،
شما چرخه حیاط activity رو نگاه کنید،
سه تا متدی که نام بردید پشت سر هم اجرا میشن تا به مرحله activity running برسیم،
پس نمیشه تو یکی پخش بشه بلافاصله تو بعدی قطع بشه.

تابع onResume زمانی که اکتیویتی رو ترک می کنیم اجرا میشه
اینجوری نیست که با onStart اجرا بشه
درسته که یکی از فرآیند چرخه اکتیویتی هست ولی تو زمان مخصوص به خودش اجرا میشه

اگر من اشتباه برداشت کردم شما لطف کنید بیشتر توضیح دهید

shahin bahari
شنبه 18 بهمن 1393, 17:56 عصر
تابع onResume زمانی که اکتیویتی رو ترک می کنیم اجرا میشه
اینجوری نیست که با onStart اجرا بشه
درسته که یکی از فرآیند چرخه اکتیویتی هست ولی تو زمان مخصوص به خودش اجرا میشه

اگر من اشتباه برداشت کردم شما لطف کنید بیشتر توضیح دهید

اتفاقا onResume بعد از onStart اجرا میشه. معنی resume دقیقا متضاد هست با ترک کردن!!!!
منم نمی دونم کد شما چطور کار کرده ولی به هر حال هرکدی که کار میکنه لزوما درست نیست! (نمونش پیش اومده که Permission ها رو یادم رفته بود اضافه کنم ولی توی جنی موشن کد بدون مشکل کار می کرد!)
چرخه حیات رو یه نگاه کنید متوجه میشید :
128256


دوست عزیز این یه نمونه سورسه که با کمی دستکاری می تونه کمکتون کنه



http://stackoverflow.com/questions/7...-music-android (http://stackoverflow.com/questions/7928803/background-music-android)

استفاده از سرویس هم توجیه نداره! چرا برای کاری که خود Application می تونه اون رو انجام بده یه سرویس به برنامه اضافه کنیم و خودمون رو درگیر Bind کردن و این حرف هاش کنیم؟!

منطقی ترین روش برای پخش موسیقی برای اکتیویتی شروع اون توی OnCreat یا onStart هست و پایان اون توی OnStop . اگر هم موسیقی قرار هست توی تمام اکتیویتی ها پخش بشه میشه از کلاس Application کمک گرفت و با چرخه حیات اون شروع و پایان موسیقی رو مدیریت کرد.

esideli
شنبه 18 بهمن 1393, 18:20 عصر
چطوری میشی که با باز کردن برنامه به یه اکتویتی خاص که رسید آهنگی شروع به پخش بشه و با خارج شدن از اون آهنگ قطع بشه؟؟؟

شما باید مدیاپلیر رو در بلاک اصلی اکتیویتی تعریف کنی سپس توی onCreate باید اون رو مقدار دهی و استارت کنی. توی متد onPause مدیاپلیر رو stop کن و توی onResume هم اون رو استارت کن.

Ebrahimkh
شنبه 18 بهمن 1393, 18:23 عصر
سلام دوست عزیز

بابت راهنماییتون هم بسیار سپاسگذارم


بنده هم گفتم که تو تابع onCreate بنویسی جواب میگیری

gilas1368
شنبه 18 بهمن 1393, 18:41 عصر
عذر میخام
متد onDestroy بود