samiasoft
شنبه 14 مهر 1397, 04:23 صبح
سلام دوستان
من میخواستم داخل اپلکیشن از وقتی که کاربر وارد میشه در کلیه اکیتویتی ها یک موزیک پخش بشه. درواقع حتی وقتی وارد اکتیویتی دیگر میشم موزیک قطع نشه و ادامه اون موزیک در اکتیویتی که داخلش هستیم پخش بشه.
برای اینکار در کلاس زیر چنین سرویسی را تعریف کردم :
public class BackgroundMusicService extends Service {
public static MediaPlayer player;
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
player = MediaPlayer.create(this, R.raw.music);
player.setLooping(true); // Set looping
player.setVolume(100,100);
}
public int onStartCommand(Intent intent, int flags, int startId) {
player.start();
return 1;
}
@Override
public void onDestroy() {
player.stop();
player.release();
}
@Override
public void onLowMemory() {
}
}
و در مانیفیست هم تعریف کردم :
<service android:name=".BackgroundMusicService"
android:stopWithTask="true" />
حالا در ماین اکیتویتی این سرویس را بدین صورت اجرا کردم :
startService(new Intent(MainActivity.this,BackgroundMusicService.cl ass));
متاسفانه وقتی وارد اکتیویتی دیگر میشم موزیک بلافاصله قطع میشه!
برای حل این مساله در اکتیویتی های دیگر چیکار باید انجام داد ؟!
من میخواستم داخل اپلکیشن از وقتی که کاربر وارد میشه در کلیه اکیتویتی ها یک موزیک پخش بشه. درواقع حتی وقتی وارد اکتیویتی دیگر میشم موزیک قطع نشه و ادامه اون موزیک در اکتیویتی که داخلش هستیم پخش بشه.
برای اینکار در کلاس زیر چنین سرویسی را تعریف کردم :
public class BackgroundMusicService extends Service {
public static MediaPlayer player;
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
player = MediaPlayer.create(this, R.raw.music);
player.setLooping(true); // Set looping
player.setVolume(100,100);
}
public int onStartCommand(Intent intent, int flags, int startId) {
player.start();
return 1;
}
@Override
public void onDestroy() {
player.stop();
player.release();
}
@Override
public void onLowMemory() {
}
}
و در مانیفیست هم تعریف کردم :
<service android:name=".BackgroundMusicService"
android:stopWithTask="true" />
حالا در ماین اکیتویتی این سرویس را بدین صورت اجرا کردم :
startService(new Intent(MainActivity.this,BackgroundMusicService.cl ass));
متاسفانه وقتی وارد اکتیویتی دیگر میشم موزیک بلافاصله قطع میشه!
برای حل این مساله در اکتیویتی های دیگر چیکار باید انجام داد ؟!