رفتن به مطلب
  • 0

ساخت موزیک پلیر با progressbar


amirsafari

سوال

سلام دوستان من یه برنامه ای میخوام بسازم که یه آنگ پخش کنه و موقعیت آنگ رو روی progressbar نمایش بده. کار با جفتشونو بلدم. فقط نمیدونم چطور تنظیم کنم که با هم پیش برن؟

 

این کدمه . پروگرس بار هم اگه تنظیمات خاصی داره لطفا راهنمایی کنید

 

این کد اجرا میشه ولی چیزی نشون نمیده

#Region  Project Attributes 
	#ApplicationLabel: B4A Example
	#VersionCode: 1
	#VersionName: 
	'SupportedOrientations possible values: unspecified, landscape or portrait.
	#SupportedOrientations: unspecified
	#CanInstallToExternalStorage: False
#End Region

#Region  Activity Attributes 
	#FullScreen: False
	#IncludeTitle: True
#End Region

Sub Process_Globals


End Sub

Sub Globals


	Private ProgressBar1 As ProgressBar
	Dim t As Timer
	Dim mp As MediaPlayer
End Sub

Sub Activity_Create(FirstTime As Boolean)
	'Do not forget to load the layout file created with the visual designer. For example:
	Activity.LoadLayout("Layout1")
	t.Initialize("t",1000)
	t.Enabled=True
	mp.Initialize2("")
	mp.Looping=True
	mp.Load(File.DirAssets,"shadmehr.MP3")
	mp.Play
	ProgressBar1.Color=Colors.Blue

	
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub t_Tick
	ProgressBar1.Progress=mp.Position
End Sub

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

4 پاسخ به این سوال تاکنون داده شده است

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

بازم سلام 

 

دیگه زیاد توضیح نمیدم خودتون متوجه میشید فقط کد میدم :

Sub Process_Globals
    Dim MediaPlayer1 As MediaPlayer
    Dim timer1 As Timer
End Sub
Sub Globals
    Dim barPosition As SeekBar
    Dim lblPosition As Label
End Sub
Sub Activity_Create(FirstTime As Boolean) 
    If FirstTime Then
        MediaPlayer1.Initialize( )
        MediaPlayer1.Load(File.DirAssets, "shadmehr.mp3")
        Timer1.Initialize("timer1", 1000)
    End If
End Sub
Sub btnplay_Click
    MediaPlayer1.Play
    timer1.Enabled = True
    timer1_Tick
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
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 barPosition_ValueChanged (Value As Int, UserChanged As Boolean)
    If UserChanged = False Then Return '
    MediaPlayer1.Position = Value / 100 * MediaPlayer1.Duration
    If MediaPlayer1.IsPlaying = False Then 
        MediaPlayer1.Play
    End If
    timer1_Tick 
End Sub

یا کدای بالا میتونید سیک بار رو هم وقتی لمس کردید مقدارش عوض بشه یا مثلا از وسط اهنگ بیاد 

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

سلام من نمیدونستم آقا الیاس کد گذاشتن واستون. :gol:

منم یه سورس کوچیک آماده کردم میتونید از این هم استفاده کنید.

http://answercenter.ir/topic/8146-%D8%B3%D9%88%D8%B1%D8%B3-%D9%85%D8%AF%DB%8C%D8%A7%D9%BE%D9%84%DB%8C%D8%B1-%D9%87%D9%85%D8%B1%D8%A7%D9%87-%D8%A8%D8%A7-%D8%B3%DB%8C%DA%A9%D8%A8%D8%A7%D8%B1-%D9%88-%D8%B2%D9%85%D8%A7%D9%86-%D8%A2%D9%87%D9%86%DA%AF/

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

در در 1397/05/17, 13:50:11، abolfazlbeigi گفته است :

سلام ببخشید کار lbposition نشون دادن زمان آهنگه؟

میشه دقیقا بگید چیکار میکنه؟

ویو لیبل -> وظیفه نمایش ، تبدیل زمان و موقعیت فعلی موزیک با متد ConvertToTimeFormat به دقیقه و ثانیه

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

در در 1394/07/16, 16:29:04، Elyas Erfani گفته است :

بازم سلام 

 

دیگه زیاد توضیح نمیدم خودتون متوجه میشید فقط کد میدم :


Sub Process_Globals
    Dim MediaPlayer1 As MediaPlayer
    Dim timer1 As Timer
End Sub

Sub Globals
    Dim barPosition As SeekBar
    Dim lblPosition As Label
End Sub

Sub Activity_Create(FirstTime As Boolean) 
    If FirstTime Then
        MediaPlayer1.Initialize( )
        MediaPlayer1.Load(File.DirAssets, "shadmehr.mp3")
        Timer1.Initialize("timer1", 1000)
    End If
End Sub

Sub btnplay_Click
    MediaPlayer1.Play
    timer1.Enabled = True
    timer1_Tick
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

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 barPosition_ValueChanged (Value As Int, UserChanged As Boolean)
    If UserChanged = False Then Return '
    MediaPlayer1.Position = Value / 100 * MediaPlayer1.Duration
    If MediaPlayer1.IsPlaying = False Then 
        MediaPlayer1.Play
    End If
    timer1_Tick 
End Sub

یا کدای بالا میتونید سیک بار رو هم وقتی لمس کردید مقدارش عوض بشه یا مثلا از وسط اهنگ بیاد 

سلام ببخشید کار lbposition نشون دادن زمان آهنگه؟

میشه دقیقا بگید چیکار میکنه؟

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

بایگانی شده

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

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

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