اجرای فایل صوتی با شروع برنامه و پخش در تمام صفحات
سلام خدا قوت
اول بگم که سرچ کردم ، جواب دقیقی پیدا نکردم
سئوال من ::: من یک فایل صوتی دارم که می خوام با شروع برنامه اجرا بشه و زمانی که کاربر به صفحات یا اکتیوتی های دیگه میره ، همچنان پخش بشه ، دوستان در مطالبشون فقط گفتند چطور بشه برای یک اکتیوتی خاص این کار کرد .
الان فقط در اکتیویتی اصلی پخش میشه و به صفحات دیگه که میروم ، قطع میشه .
ممنون میشم راهنمایی بفرمائید .
تشکر
توی اکتیویتی اول موقع خارج شدن فایل صوتی رو puse می کنی.(البته فکر می کنم) کد زیر رو پیدا کن و پاکش کن.
musicPlayer.pause();
ببخشید در قسمت درج پاسخ نوشتم . بالا کد به درستی نمایش داده نمیشه . کدی که من استفاده می کنم اینه.
MediaPlayer.create(p1.this, R.raw.alarm).start();
این کد رو تست کن حله احتمال فراوان
publicclassSoundActivityextendsActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.soundpage);
final MediaPlayer mp = MediaPlayer.create(SoundActivity.this, R.raw.music);
@Override
public void onClick(View v) {
mp.start();
});
}
}
برای این کار از سرویس استفاده کن
من تو برنامم این کدها رو نوشتم و به درستی هم کار میکنه
یک کلاس به اسم BackgroundSoundService بساز که از Service اکستند بشه و کد زیر رو توش بنویس
کل متدها رو گذاشتم که اگه لازم نداشتی میتونی حذفشون کنی
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.IBinder;
public class BackgroundSoundService extends Service {
MediaPlayer player;
@Override
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 5, 0);
player = MediaPlayer.create(BackgroundSoundService.this, R.drawable.bgmusic); // آدرس آهنگ که واسه من تو drawable گذاشتم .
player.setLooping(true); // Set looping
player.setVolume(5, 5); // تنظیم صدای آهنگ
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
player.start();
return 1;
}
@Override
public void onStart(Intent intent, int startId) {}
public void onStop() {}
public void onPause() { }
public IBinder onUnBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onDestroy() {
player.stop();
player.release();
}
}
واسه شروع آهنگ ( که باید در onCreate صفحه اصلی بنویسی ) :
Intent svc = new Intent(activityMain.this, BackgroundSoundService.class);
startService(svc);
واسه قطع شدن آهنگ ( قبل از بسته شدن کامل برنامه فراخوانی کن ) :
Intent svc = new Intent(activityMain.this, BackgroundSoundService.class);
stopService(svc);
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .