با سلام و سپاس خدمت کاربران عزیز وب سایت یاهو ۹۸ YAHOO
بطور عادی اگر توسط MediaPlayer موزیکی رو در برنامتون لود و پخش کنید، موقع تماس کاربر یا پخش موزیک و ویدئو، موسیقی شما همینطور درحال پخش باقی میمونه و در نتیجه موسیقی شما با تماس یا موسیقی کاربر دچار اختلال میشه.
با آموزشی که در اختیار شما قرار دادیم میتونید این مورد رو با requestAudioFocus در Basic4Android مدیریت کنید، یعنی میتونیم بگیم هنگام تماس یا پخش ویدئو و… موزیک ما یک لحظه Pause و دوباره Play بشه. / با ما همراه باشید…
آموزش قطع موزیک حین تماس یا پخش ویدئو و… در بیسیک۴اندروید
۱- کتابخانه JavaObject و Phone رو فعال کنید
۲- قبل از اینکه MediaPlayer خودتون رو Initialize و Play کنید کد های زیر رو قرار بدید:
Dim jo As JavaObject
jo.InitializeContext
jo = jo.RunMethod("getSystemService", Array("audio"))
Dim event As Object = jo.CreateEventFromUI("android.media.AudioManager.OnAudioFocusChangeListener", _
"audio", Null)
Dim p As Phone
Log(jo.RunMethod("requestAudioFocus", Array (event, p.VOLUME_MUSIC, 2)))
۳- حالا کافیه رویداد زیر رو در همون ماژولی که کد بالا رو قرار دادید، پیست کنید و داخل اون موزیک خودتون رو مدیریت کنید. برای مثال ما حین تماس یا پخش ویدئو و… موسیقی خودمون رو Pause و زمانی که قطع میشه موسیقی رو Play کردیم:
Sub audio_Event (MethodName As String, Args() As Object) As Object
Try
Log(Args(0))
'-۱: موقع پخش موزیک یا ویدئو
'-۲: موقع تماس
'۱: قطع شدن ویدئو یا تماس
If Args(0)=-2 Or Args(0)=-1 Then
MediaPlayer.Pause
else if Args(0)=1 Then
If MediaPlayer.IsPlaying=False Then MediaPlayer.Play
End If
Catch
End Try
Return Null
End Sub
