توقف موقت موزیک حین تماس یا پخش ویدئو از گوشی در B4A

با سلام و سپاس خدمت کاربران عزیز وب سایت یاهو ۹۸ 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

 

دیدگاهتان را بنویسید