بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
قطع آهنگ هنگام بستن اکتیویتی
سلام
هنگام بستن اکتیویتی اصلی برنامه آهنگ در حال پخش قطع میشه (حتی وقتی از Service استفاده میکنم)
کد Service
public class PlayMusic extends Service implements MediaPlayer.OnCompletionListener {
MediaPlayer mediaPlayer;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
mediaPlayer = MediaPlayer.create(this, Uri.parse(Environment.getExternalStorageDirectory().getAbsolutePath() + "/path/sound.mp3"));
mediaPlayer.setOnCompletionListener(this);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (!mediaPlayer.isPlaying()) {
mediaPlayer.start();
}
return START_STICKY;
//return Service.START_FLAG_REDELIVERY;
}
public void onDestroy() {
if (mediaPlayer.isPlaying()) {
mediaPlayer.stop();
}
mediaPlayer.release();
}
public void onCompletion(MediaPlayer _mediaPlayer) {
stopSelf();
}
}
و اینم کد اجرای Service
Intent playbackServiceIntent = new Intent(HomeActivity.this, PlayMusic.class);
Button btnPlay = (Button) findViewById(R.id.btn_play);
btnPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startService(playbackServiceIntent);
}
});
آهنگ توی پس زمینه پخش میشه ولی وقتی برنامه بطور کامل بسته میشه آهنگ هم قطع میشه کسی میدونه دلیلش چیه ؟
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
Amir
9 سال پیش
0
0
من از این کد استفاده می کنم و مشکلی نداره:
package app.test;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.media.MediaPlayer;
import android.os.IBinder;
public class PlayMusic extends Service {
public MediaPlayer musicPlayer;
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
musicPlayer = MediaPlayer.create(G.currentactivity, Uri.parse(Environment.getExternalStorageDirectory().getAbsolutePath() + "/path/sound.mp3"));
musicPlayer.start();
return Service.START_FLAG_REDELIVERY;
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .