رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

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


پست های پیشنهاد شده

سلام دوستان خوبم

من یک برنامه نوشتم که نیاز دارم یک موسیقی برای یک اکتیویتی بصورت پس زمینه پخش شود. متاسفانه مشکلی دارم با کدی که نوشتم هنگامی که در برنامه به اکتیویتی مربوطه می روم آن موسیقی دقیقا دوبار همزمان و پشت سر هم اجرا می شود که باعث می شه موسیقی به درستی اجرا نشود. خیلی روش کار کردم. وقتی میزارمش داخل یک لیسینر دکمه بدون مشکل اجرا می شه ولی مشکل من اینه که میخوام به طور خودکار اجرا بشه

اینم کدم:

  protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.aboutus);

        mPlayer = MediaPlayer.create(aboutus.this, R.raw.nelflute);

        mPlayer.start();

  }

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

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

یک شیرپرفرنسز هم تعریف کنید

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

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

یک شیرپرفرنسز هم تعریف کنید

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

این کار را کردم. هم با یک متغییر هم با استفاده از خود متغییری که موزیک توش مقدار دهی میشه برای بار اول که نال هست برای بار دوم طبیعتا باید مقدار دهی شده باشه. ولی بی فایدست همچنان دوبار اجرا میشه. نکته جالب اینه که وقتی این کد را داخل رویداد آنکلیک یک دکمه قرار می دهم درست یک بار اجرا میشه.

دارم خل میشم واقعا

لینک ارسال
به اشتراک گذاری در سایت های دیگر

وقتی کاربر از اکتیویتی خارج میشه

 mPlayer.stop();

رو فراخونی کنید

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

@Override

public void onBackPressed(){

if (mPlayer != null){

mPlayer.stop();

           if (isFinishing()){

            mPlayer.stop();

            mPlayer.release();

           }

       }

          this.finish();

}

لینک ارسال
به اشتراک گذاری در سایت های دیگر
  • 1 ماه بعد...

باید از سرویس استفاده کنی و کدت رو تو سرویس بزاری تا با رفتن به اکتیویتی دیگه قطع نشه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...