رفتن به مطلب

مدیا پلیر ساده به همراه لیست پخش (B4A)


مجید آرتا

ارسال‌های توصیه شده

سلام کاربرای عزیز انجمن انسِر سِنتر

امیدوارم تابستون رو ترکونده باشین ( طبق عادتی که همیشه می گیم )

میریم سر اصل مطلب، یکی از دوستان خواستار همچین سورس کدی بود که قرار نبود رایگان بزارم که دیگه چه میشه کرد گفتم جهنم ضرر :DD:

سورس خیلی ساده ای هستش و توی تصور یه پلیر مثل KM  نباشین لطفا :دی

یه پراگرس بار و 4 تا دکمه استوپ و وقفه و سیک به عقب و جلو بندازین تنگش میشه یه مدیا پلیر همه چی تموم ( البته یه منیجیر خوشگل واسه اهنگای گوشی:girl_flag_of_truce: )

خب یه عادت خوب یا بدی که دارم، دلم میخواد کدی رو که نوشتم مختصر توضیحی بدم تا واسه کاربر شفاف تر بشه.

تابع LoadNames »

Sub LoadNames
	For Each v As View In Activity.GetAllViewsRecursive
		If v Is Button Then
				v.Tag = Starter.oggFiles.Get(index)
				If index < Starter.oggFiles.Size - 1 Then index = index + 1
		End If
	Next
End Sub

میاد اسم فایلای صوتی رو در میاره، ما توی پوشه Files هستش.شما می تونید از یه پوشه ی خاص بگیرید یا اینکه کل فایلای صوتی رو لیست کنید.ما اینجا محدود کردیم به چنتا دکمه.

PlaySound »

Sub PlaySound(FileName As Object)
	mp.Load(File.DirAssets,FileName)
	mp.Play
End Sub

یه آرگومان داره از نوع آبجکت! می تونستیم از نوع رشته هم بهش بدیم.اسم فایل رو میدی به تابع واست اهنگ رو پخش می کنه.

 

PlayList »

Sub PlayList
	lstPlay.Clear
	For i = 0 To PlayQueue.Size - 1
		If i = 0 Then
			 lstPlay.AddTwoLinesAndBitmap(PlayQueue.Get(i),"Playing . . .",LoadBitmap(File.DirAssets,"Pause-96.png"))
			 Else
			 	lstPlay.AddTwoLinesAndBitmap(PlayQueue.Get(i),"Pause",LoadBitmap(File.DirAssets,"Play-96.png"))
		End If
	Next
End Sub

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

رویداد کلیک دکمه »

Sub Button_Click
	Private btn As Button
	btn = Sender
		If Runner.Running = False And status = False Then 
			PlayQueue.Add(btn.Tag)
			Runner.Start(Me,"PlaySound",Array As Object(PlayQueue.Get(0)))
		Else
			ToastMessageShow("به لیست پخش اضافه گردید.",False)
			PlayQueue.Add(btn.Tag)
		End If
		PlayList
End Sub

اینجا ما چندین دکمه داریم که به صورت داینامیک اومدیم کدش رو نوشتیم.هر بار که کلیک بشه روی اهنگ به لیست اضافه میشه و توسط Thread  هم اهنگ ها پخش میشن.یه لیست ساخته میشه و یکی یکی پخش میشن تا زمانیکه تموم بشن و ترد کارش تموم میشه.

رویداد Complete مربوط به مدیا پلیر »

Sub MediaPlayer_Complete
	status = False
	If PlayQueue.Size > 0 Then PlayQueue.RemoveAt(0)
	If PlayQueue.Size > 0 Then Runner.Start(Me,"PlaySound",Array As Object(PlayQueue.Get(0)))
	PlayList
End Sub

این رویداد هم وقتیکه اهنگ به اتمام رسید میاد اسمشو از لیست پخش حذف می کنه.( البته این واسه زمانی خوبه که لیست پخش شما Repeat  یا تکرار نداشته باشه.)

 

باز پروژه رو با فایلاش اپلود کردم، حواس که نباشه زندگی متحمل خسارت میشه :DD:

:answercenter:

دانلود فایل » PlayerWithList.rar

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...