Android Studio gelen aramalarda çalan sesi veya müziği durdurma nasıl yapılır?
Android Studio ile bir uygulama yaptım. Yaptığım uygulama bir müzik veya ses içeriyor. Uygulama içerisinde müzik veya ses çalarken bir arama geldiğinde, çalan ses otomatik olarak durmuyor ve konuşurken arka planda çalmaya devam ediyor. Android studio üzerinde gelen arama olduğunda çalan sesin veya müziğin otomatik olarak durmasını nasıl sağlayabilirim?
Toplam 1 cevap
Android Studio ile bir program yazdığınızda çalan sesin arka planda durması için gerekli tanımlamalar yapabilirsiniz. Bu tanımlamalar ile uygulama gelen aramaları anlayabilecek ve otomatik olarak çalan sesi veya müziği durdurabilecek, telefon ile konuşma bittiğinde müzik veya ses tekrar çalmaya devam edecektir.
Aşağıdaki adımları uyguladığınızda arama geldiğinde sesin otomatik olarak durması gerekir.
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
private boolean ongoingCall = false;
private PhoneStateListener phoneStateListener;
private TelephonyManager telephonyManager;
//Handle incoming phone calls
private void callStateListener() {
// Get the telephony manager
telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
//Starting listening for PhoneState changes
phoneStateListener = new PhoneStateListener() {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
//if at least one call exists or the phone is ringing
//pause the MediaPlayer
case TelephonyManager.CALL_STATE_OFFHOOK:
case TelephonyManager.CALL_STATE_RINGING:
if (mediaPlayer != null) {
pauseMedia();
ongoingCall = true;
}
break;
case TelephonyManager.CALL_STATE_IDLE:
// Phone idle. Start playing.
if (mediaPlayer != null) {
if (ongoingCall) {
ongoingCall = false;
resumeMedia();
}
}
break;
}
}
};
// Register the listener with the telephony manager
// Listen for changes to the device call state.
telephonyManager.listen(phoneStateListener,
PhoneStateListener.LISTEN_CALL_STATE);
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.[layoutismi]);
//stop soundplayer when incoming calls
callStateListener();
...
}
Tüm bu adımlardan sonra uygulama artık arama durumunu anlayabilecek ve arama sırasında çalan sesi durdurup, arama bittiğinde çalan sesi tekrar devam ettirebilecektir.