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


توقف موقت موزیک حین تماس یا پخش ویدئو از گوشی در B4A
۲۱ بهمن ۱۳۹۸
1793 بازدید
نویسنده:

🎧 بطور عادی اگر توسط 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

 

 


✏️ منبع: کافه توسعه


 


آموزش برنامه نویسی اندروید

پژمان نیکروان
پژمان نیکروان

پژمان نیکروان هستم؛ مدیر وب سایت کافه توسعه، شروع فعالیتم به برنامه نویسی از سال 1392 بوده و هدف از ایجاد وبسایت اشتراک گذاری تجارب خودم و دیگر برنامه نویسان هست.

ارسال دیدگاه

می توانید از تگ های HTML نیز استفاده کنید :
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

هیچ دیدگاهی وجود ندارد!