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

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

سلام دوستان
واسه اینکه موزیک درون برنامه دائما پخش باید چیکار کنم؟یعنی برنامه که اجرا میشه موزیک پخش بشه و بعد اکتیوتی ها که تغییر پیدا میکنه موزیک قطع نشه و ادامه بده،ممنون میشم راهنمایی کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 1 ساعت قبل، K1Akbarpour گفته است :

سلام دوستان
واسه اینکه موزیک درون برنامه دائما پخش باید چیکار کنم؟یعنی برنامه که اجرا میشه موزیک پخش بشه و بعد اکتیوتی ها که تغییر پیدا میکنه موزیک قطع نشه و ادامه بده،ممنون میشم راهنمایی کنید

سلام دوست عزیز شما باید یک سرویس ران کن که با ورود کاربر به برنامه start بشه و با خروجش از برنامه هم stop

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

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر
public class BackgroundSoundService extends Service {
    private static final String TAG = null;
    MediaPlayer player;

    public IBinder onBind(Intent arg0) {

        return null;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        Log.d("service", "onCreate");
        player = new MediaPlayer();
        try {
            player.setDataSource(Environment.getExternalStorageDirectory().getAbsolutePath() + "/your file.mp3");
        } catch (IOException e) {
            e.printStackTrace();
        }
        player.setLooping(true); // Set looping
        player.setVolume(100, 100);

    }

    public int onStartCommand(Intent intent, int flags, int startId) {
        Log.d("service", "onStartCommand");
        try {
            player.prepare();
            player.start();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return 1;
    }

    public void onStart(Intent intent, int startId) {
        // TO DO
    }

    public IBinder onUnBind(Intent arg0) {
        // TO DO Auto-generated method
        return null;
    }

    public void onStop() {

    }

    public void onPause() {

    }

    @Override
    public void onDestroy() {
        player.stop();
        player.release();
    }

    @Override
    public void onLowMemory() {

    }
}
 Run code snippetCopy snippet to answer

 

Manifest

<service name="BackgroundSoundService"/>

 

Activity :

startService(new Intent(this,new BackgroundSoundService()));

 

 

 

 

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

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

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

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

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

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

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

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

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

  • مطالب مشابه

    • توسط hami develop
      سلام خدمت دوستان عزیز.
      من یک اپلیکیشن اندروید درست کردم و از کلاس service ارث بری کردم و هر دقیقه یک بار یک وب سایت را چک میکند و در صورتی که اطلاعات جدیدی در این وب سایت وجود داشته باشد به من یک نوتیفیکیشن میدهد.
      آیا بهتر است که از کلاس Worker ارث بری کنم تا برنامه وظایفی را انجام دهد؟
      نکته: در واقع می‌خواهم برنامه برای مدت طولانی اجرا شود و هیچ گاه متوقف نشود.
      اگر کسی از دوستان تجربه کار با Worker را دارد لطفا بفرمایند که اختلاف
      Worker 
      و
      Service 
      دقیقا چی هست و برای برنامه ای که همیشه در بک گراند در حال اجرا است، کدامیک بهتر است؟
      سپاس بی کران.
    • توسط mamad
      سلام
      یک اپ خبری رو در نظر بگیرید که دو تا بخش اخبار عادی و اخبار فوری توش هست با ورود کاربر اطلاعات رو از سایت میگیره و نمایش میده.
      میخوام هروقت یه خبر فوری توی سرور ثبت شد همون لحظه یک ناتیفیکیشن برای کاربر بیاد (مثل تلگرام)
      قطعا باید یه سرویس تو پس زمینه فعال باشه حالا به نظرم دوتا راه هست 
         1- با یه فاصله زمانی به سرور متصل بشه و چک کنه خبر جدید رو
         2- فقط یه ارتباط بین سرور و اپ برقرار باشه و هر وقت خبر اضافه شد یک سیگنال از سرور به اپ بیاد (احتمالا سوکت ...)
      لطفا راهنماییم کنید که چطوری باید این کارو بکنم. لینک آموزش هم بود بدین.
      ممنون.
    • توسط alexandre9009
      سلام دوستان 
      من یه پروژه درسی دارم باید تا فردا برای استاد بفرستم ، خیلی هم راجبش تحقیق کردم ، یک نرم افزار اندروید باید بنویسم که با زدن یک دکمه شروع به مانیتورینگ حجم دیتای ارسالی و دریافتی از اینترنت کنه  ، خب توی اینترنت سورس کد این بخش رو پیدا کردم 

      MainActivity :
      package com.authorwjf; import android.app.Activity; import android.app.AlertDialog; import android.net.TrafficStats; import android.os.Bundle; import android.os.Handler; import android.widget.TextView; public class Main extends Activity { private Handler mHandler = new Handler(); private long mStartRX = 0; private long mStartTX = 0; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mStartRX = TrafficStats.getTotalRxBytes(); mStartTX = TrafficStats.getTotalTxBytes(); if (mStartRX == TrafficStats.UNSUPPORTED || mStartTX == TrafficStats.UNSUPPORTED) { AlertDialog.Builder alert = new AlertDialog.Builder(this); alert.setTitle("Uh Oh!"); alert.setMessage("Your device does not support traffic stat monitoring."); alert.show(); } else { mHandler.postDelayed(mRunnable, 1000); } } private final Runnable mRunnable = new Runnable() { public void run() { TextView RX = (TextView)findViewById(R.id.RX); TextView TX = (TextView)findViewById(R.id.TX); long rxBytes = TrafficStats.getTotalRxBytes()- mStartRX; RX.setText(Long.toString(rxBytes/1048576)); long txBytes = TrafficStats.getTotalTxBytes()- mStartTX; TX.setText(Long.toString(txBytes/1048576)); mHandler.postDelayed(mRunnable, 1000); } }; }  
      main.xml :
      <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="16sp" android:textStyle="bold" android:gravity="center" android:paddingBottom="20dip" android:text="Traffic Stats Demo" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="14sp" android:textColor="#00ff00" android:gravity="center" android:text="Transmit MB" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="14sp" android:gravity="center" android:text="0" android:id="@+id/TX"/>" <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="14sp" android:textColor="#ff0000" android:gravity="center" android:text="Receive MB" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="14sp" android:gravity="center" android:text="0" android:id="@+id/RX"/> </LinearLayout>  
      خب این نرم افزار خوب کار میکنه و دیتای ارسالی و دریافتی کل شبکه رو مانیتور میکنه  ، اما یک مشکل داره وقتی برنامه رو میبندم و دوباره بازش میکنم کل مقادیر صفر میشه . 
      تحقیق کردم و دیدم که باید از سرویس ها استفاده کنیم که بعد از بسته شدن نرم افزار هم بازم دیتا رو مانیتور کنه . 
      این قسمتش رو نمیدونم که چجوری براش سرویس بنویسم ... 
      ممنون میشم کمکم کنین ، و اینکه اگه سرویس نوشتیم چطور توی statusbar میتونیم با اینکه برنامه بسته هستش مقادیر رو مشاهده کنیم. خواهش میکنم راهنماییم کنین
  • فایل

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