alimaha 12 ارسال شده در 7 آبان، ۱۳۹۵ اشتراک گذاری ارسال شده در 7 آبان، ۱۳۹۵ با سلام سورس یک پلیر را گرفته ام و می خواهم زمانی که آهنگ به زمان های خاصی رسید تصویر ImageView تغییر کند. مثلا زمانی barPosition پلیر به زمان 1:20 رسید تصویر ImageView تغییر کند و زمانی که به 2:4 رسید دوباره ImageView تغییر کند. سورس هر در زیر است #Region Activity Attributes #FullScreen: true #IncludeTitle: false #End Region Sub Process_Globals Dim SQL As SQL Dim timer1 As Timer End Sub Sub Globals Dim cr As Cursor Dim i As Int:i=0 Private lblword As Label Private imgnex As ImageView Dim MediaPlayer1 As MediaPlayer Private btnsot As Button Dim barPosition As SeekBar Dim barVolume As SeekBar Dim lblPosition As Label Dim Looping As ToggleButton Private imgback As ImageView Private imgpause As ImageView Private imgplay As ImageView Private imgstop As ImageView Dim p As PinchZoomAndMove Private ImageView1 As ImageView Private back2 As Button Private next2 As Button Private Label4 As Label End Sub Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("1") ImageView1.Bitmap=LoadBitmap(File.DirAssets,"1.jpg") p.Initialize(ImageView1,"img1","",1,3,3,False,Me) p.CanZoom=True p.CanMove=True p.LimitArea=True If File.Exists(File.DirInternal,"sq11.db")=False Then File.Copy(File.DirAssets,"sq11.db",File.DirInternal,"s11.db") End If SQL.Initialize(File.DirInternal,"sq11.db",False) timer1.Initialize("timer1", 1000) Try cr=SQL.ExecQuery("SELECT*FROM sd1") cr.Position=i lblword.Text=cr.GetString("sot") Catch End Try MediaPlayer1.Initialize( ) MediaPlayer1.Load(File.DirAssets, lblword.Text) End Sub Sub imgnex_Click imgpause.Visible=False imgplay.Visible=True If MediaPlayer1.IsPlaying Then MediaPlayer1.stop End If i=i+1 Try cr=SQL.ExecQuery("SELECT*FROM sd1") cr.Position=i lblword.Text=cr.GetString("sot") Catch End Try '/////// MediaPlayer1.Initialize( ) MediaPlayer1.Load(File.DirAssets, lblword.Text) MediaPlayer1.play imgpause.Visible=True imgplay.Visible=False '///////// End Sub Sub imgback_Click imgpause.Visible=False imgplay.Visible=True If MediaPlayer1.IsPlaying Then MediaPlayer1.stop End If i=i-1 Try cr=SQL.ExecQuery("SELECT*FROM sd1") cr.Position=i lblword.Text=cr.GetString("sot") Catch End Try MediaPlayer1.Initialize( ) MediaPlayer1.Load(File.DirAssets, lblword.Text) MediaPlayer1.play imgpause.Visible=True imgplay.Visible=False End Sub Sub imgplay_Click MediaPlayer1.Initialize( ) MediaPlayer1.Load(File.DirAssets, lblword.Text) MediaPlayer1.play imgpause.Visible=True imgplay.Visible=False '///////////// '//////// End Sub Sub Activity_Resume 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 If (MediaPlayer1.Position*1.005)>=MediaPlayer1.Duration Then imgnex_Click 'Msgbox("ddrb","hddr") 'MediaPlayer1.Play End If End Sub Sub ConvertToTimeFormat(ms As Int) As String Dim seconds, minutes As Int seconds = Round(ms / 1000) minutes = Floor(seconds / 50) seconds = seconds Mod 50 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 MediaPlayer1.Position = Value / 100 * MediaPlayer1.Duration If MediaPlayer1.IsPlaying = False Then 'in halat zamani etefagh miofte k music b akhar reside v karbar neshangaro b aval montaghel mikone MediaPlayer1.Play End If timer1_Tick End Sub Sub Looping_CheckedChange(Checked As Boolean) MediaPlayer1.Looping = Checked End Sub Sub imgstop_Click MediaPlayer1.Stop imgpause.Visible=False imgplay.Visible=True End Sub Sub imgpause_Click MediaPlayer1.Pause imgpause.Visible=False imgplay.Visible=True End Sub Sub back2_Click Activity.Finish StartActivity(pag5) End Sub Sub next2_Click Activity.Finish StartActivity(pag2) End Sub ممنون لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Mehdi.s 173 ارسال شده در 7 آبان، ۱۳۹۵ اشتراک گذاری ارسال شده در 7 آبان، ۱۳۹۵ سلام میتونید از این ساب استفاده کنید در ۱ ساعت قبل، alimaha گفته است : ببخشید کدوم ساب؟ لطفا کدش هم بنویسید Sub SeekBar1_ValueChanged (Value As Int, UserChanged As Boolean) If SeekBar1.Value=10 Then ToastMessageShow("value = 10",False) else If SeekBar1.Value=80 Then ToastMessageShow("value = 80",False) End If End Sub موفق باشید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
alimaha 12 ارسال شده در 7 آبان، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 7 آبان، ۱۳۹۵ ببخشید کدوم ساب؟ لطفا کدش هم بنویسید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
مهدی ایزدی 9,203 ارسال شده در 7 آبان، ۱۳۹۵ اشتراک گذاری ارسال شده در 7 آبان، ۱۳۹۵ درود خیلی ساده میتونید یک تایمر تعریف کنید و Interval اون رو مساوی 1000 بزارید که هر 1 ثانیه حرکت کنه خب حالا توی timer tick شرط بزارید که هر موقع mediaplayer1.position = زمان مورد نظر شد background image تغییر کنه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
alimaha 12 ارسال شده در 7 آبان، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 7 آبان، ۱۳۹۵ 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 If (MediaPlayer1.Position*1.005)>=MediaPlayer1.Duration Then imgnex_Click 'Msgbox("ddrb","hddr") 'MediaPlayer1.Play End If If MediaPlayer1.position =150 Then Msgbox("م","ع") End If در timer-tick خود برنامه کد را اضاف کردم اما جواب نداد. If MediaPlayer1.position =150 Then Msgbox("م","ع") End If لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
مهدی ایزدی 9,203 ارسال شده در 8 آبان، ۱۳۹۵ اشتراک گذاری ارسال شده در 8 آبان، ۱۳۹۵ درود ببینید تایمر شما روی مثلا 1000 Internal تنظیم شده شما توی شرط اومدید گفتید position = 150 خب اصلا تایمر زمان 150 رو نمیبینه و از اون موقع رد کرده شما بهتره به این صورت استفاده کنید : If mediaplayer1.Position >= 1000 Then ToastMessageShow("resid",True) End If از علامت بزرگتر مساوی استفاده کنید تا دیگه نیاز نداشته باشید internal timer رو با position تنظیم کنید... حالا یه مشکل دیگه هم بوجود میاد و اونم اینه که اگر بعد از نخواهید تایمر رو متوقف کنید این شرط مدام اجرا بشه ! راحش رو میشه با یک متغیر boolean حل کرد ... یعنی به شرط AND اضافه کنید مثلا: if mediaplayer1.position >= 1200 AND bool = false then حالا مثلا بعد از toastmsg میتونید بیایید bool = true کنید که شرط دیگه اجرا نشه ! راه زیاده... راه های قانونی بهتر هم هست که باید با دیتابیس انجام بشه ! موفق باشید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
alimaha 12
با سلام
سورس یک پلیر را گرفته ام و می خواهم زمانی که آهنگ به زمان های خاصی رسید تصویر ImageView تغییر کند.
مثلا زمانی barPosition پلیر به زمان 1:20 رسید تصویر ImageView تغییر کند و زمانی که به 2:4 رسید دوباره ImageView تغییر کند.
سورس هر در زیر است
ممنون
لینک ارسال
به اشتراک گذاری در سایت های دیگر
5 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.