آموزش ساخت Music Player در بیسیک ۴ اندروید00 نظر

آموزش ساخت Music Player در بیسیک ۴ اندروید

سلام  دوستان

امروز به درخواست یکی از دوستان اموزش  ساخت موزیک پلیر رو آماده کردم

البته این نکته رو بگم  این آموزش  یکی از اموش های خود سایت اصلی b4a هسته و من فقط ترجمه کردم + کمی تغییرات  برای درک بهتر

 

 

ویژگی های خوب این سورس کد که میتونید ازش استفاده کنید : 

۱- استفاده از seekbar برای تغییر صدا و عقب جلو کردن موزیک به وسیله کاربر

۲- استفاده از تایمر

۳- قابلت تکرار دوباره اهنگ پس از اتمام

۴- نشان دادن زمان آهنگ

 

ابتدا به کل کد های این سورس کد دقت کنید تا توضیحات لازم به شما داده بشه

 

Sub Process_Globals
	Dim MediaPlayer1 As MediaPlayer
	Dim timer1 As Timer
End Sub
 
Sub Globals
	Dim barPosition As SeekBar
	Dim barVolume As SeekBar
	Dim lblPosition As Label
	Dim Looping As ToggleButton
End Sub
 
Sub Activity_Create(FirstTime As Boolean)
	If FirstTime Then
		MediaPlayer1.Initialize( )
		MediaPlayer1.Load(File.DirAssets, "IsawHerStandingThere.mid")
		timer1.Initialize("timer1", 1000)
	End If
	Activity.LoadLayout("1")
	Looping_CheckedChange(Looping.Checked) 'set the default value
End Sub
 
Sub Activity_Resume
	MediaPlayer1.Play
	timer1.Enabled = True
	timer1_Tick 'don't wait one second for the UI to update.
End Sub
 
Sub Activity_Pause (UserClosed As Boolean)
	If MediaPlayer1.IsPlaying Then MediaPlayer1.Pause
	timer1.Enabled = False
End Sub
 
Sub timer1_Tick
	If MediaPlayer1.IsPlaying Then
		barPosition.Value = MediaPlayer1.Position / MediaPlayer1.Duration * 100
		lblPosition.Text = "Position: " & ConvertToTimeFormat(MediaPlayer1.Position) & _
			" (" & ConvertToTimeFormat(MediaPlayer1.Duration) & ")"
	End If
End Sub
'converts milliseconds to m:ss format.
Sub ConvertToTimeFormat(ms As Int) As String
	Dim seconds, minutes As Int
	seconds = Round(ms / 1000)
	minutes = Floor(seconds / 60)
	seconds = seconds Mod 60
	Return NumberFormat(minutes, 1, 0) & ":" & NumberFormat(seconds, 2, 0) 'ex: 3:05
End Sub
 
Sub barVolume_ValueChanged (Value As Int, UserChanged As Boolean)
	MediaPlayer1.SetVolume(barVolume.Value / 100, barVolume.Value / 100)
End Sub
 
Sub barPosition_ValueChanged (Value As Int, UserChanged As Boolean)
	If UserChanged = False Then Return 'the value was changed programmatically
	MediaPlayer1.Position = Value / 100 * MediaPlayer1.Duration
	If MediaPlayer1.IsPlaying = False Then 'this can happen when the playback reached the end and the user changes the position
		MediaPlayer1.Play
	End If
	timer1_Tick 'immediately update the progress label
End Sub
 
Sub Looping_CheckedChange(Checked As Boolean)
	MediaPlayer1.Looping = Checked
End Sub

 

 

در این قسمت زیر ابتدا کنترل میکنیم که بار اول است که برنامه روی دستگاه کاربر اجرا شده است یا خیر؟

که اگر اولین دفعه اجراست کد های خط ۳-۴-۵  اجرا میشوند
قطعه کد خط ۸ نیز ، پیشفرض تکرار آهنگ رو بر روی تکرار قرار میده.

قطعه کد زیر نیز ، هر ۱ ثانیه یک بار ، زمان اهنگ و همینطور مکان اهنگ(مثلا قانیه ی ۲۰ پخش بشه)رو بروز رسانی میکنه

در بیسیک فور اندروید زمان بر حسب میلی ثانیه هست. پس:

کد زیر  زمان پخش رو از میلی ثانیه به ثانیه و سپس به  دقیقه تبدیل میکنه

برای تغییر صدا هم از کد زیر استفاده میکنیم :

دقت کنید که صدا در بیسیک فور اندروید حتما باید مقداری بین ۰ تا ۱ باشه. به همین دلیل مقداری رو که از Seekbar میگیره ، تقسیم بر ۱۰۰ میکنه.

یکی از مهم ترین قسمت های این سورس کد، استفاده از seekbar جهت عقب و جلو بردن موریک هست که قطعه کد زیر، این کار رو انجام میده.

در خط دوم ، شرط میکنه که اگه کاربر مقدار seek bar رو تغییر نداد(چون سیک بار هر ثانیه به جلو حرکت میکنه)، برنامه به کارش ادامه بده
در خط سوم، مقداری رو که کاربر تغییر میده تقسیم بر ۱۰۰ میکنه و در Seek bar اجرا میکنه(عقب و جلو میکنه)
در خط ۴-۵-۶ شرط میکنه که اگه موزیک در حال پخش نبود، و کاربر مقدار رو تغغیر داد، موزشک رو پخش کن
خط هفتم هم ، ساب timer_Tick رو صدا میزنه و مقدار سیک بار و لیبل رو به روز میکنه

دوستان امیدوارم که این سورس کد براتون مفید باشه

سوالاتتون رو در بخش نظرات بپرسید.

موفق باشید

 

 

دانلود کنید

 

 

مطالب وب سایت Dev-Iran :

کپی و رایت مطلب به تیم Dev-Iran.ir باز میگردد که در حال حاضر صاحب امتیاز این وب سایت گروه اوکسو می باشد.

 

 



حق نشر مطالب اوکسو :

 

 

قابل توجه علاقه مندان و کپی کنندگان گرامی ، تمامی مطالب این وب سایت تحت مجوز خالق

(Creative Commons)  می باشد و اجازه کپی کردن ، استفاده تجاری مطالب بدون اجازه

صاحب اثر مجاز نمی باشد و طبق مجوز اثر پیگرد قانونی به همراه خواهد داشت.

مجوز کریتیو کامنز
این کار مجوز دارد تحت مجوز کریتیو کامنز نسبت‌دادن-غیرتجاری-بدون انشقاق ۴٫۰ بین‌المللی.

این مطلب پایان یافت و امیدواریم به نتیجه دلخواهتان رسیده باشید . اگر به نتیجه

دلخواهتان هنوز دست نیافته اید , میتوانید برای رفع مشکل به تالار گفتمان اوکسوف

مراجعه کنید و سوال خود را مطرح کنید.

 

تالار گفتمان اوکسوف

 

 

همچنین میتوانید ما را در شبکه های اجتماعی نیز دنبال کنید و از جدید ترین اخبار ما با خبر شوید :

 

 

3491498_823


نظر شما

مطالب مرتبط