منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : [محلولة] عن ضبط قيمة trackbar بناء على قيمة duration الخاصة بـ axwindowsmediaplayer
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
لما نعرف هكذا
كود :
Dim WithEvents AxWindowsMediaPlayer1 As New WindowsMediaPlayer

كيف استطيع اجعل قيمة الـ trackbar تتغير مع تقدم الفيلم او الصوت
تقضل أخي سعود
كود :
Public Class Form1

    Dim WithEvents WindowsMediaPlayer As WMPLib.WindowsMediaPlayer = New WMPLib.WindowsMediaPlayer

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim op As New OpenFileDialog
        op.Filter = "all media |*.mp3;*.wma;*.mpg;*.avi;*.mp4;*.wmv"
        If op.ShowDialog = Windows.Forms.DialogResult.OK Then

            ' معرفة مدة ملف الفيديو أو الصوت
             TrackBar1.Maximum = WindowsMediaPlayer.newMedia(op.FileName).duration

            ' تشغيل
            WindowsMediaPlayer.URL = op.FileName
            WindowsMediaPlayer.controls.play()

        End If
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        ' التأكد من التشغيل
        If WindowsMediaPlayer.playState = WMPLib.WMPPlayState.wmppsPlaying Then
            ' معرفة نقطة التشغيل
            TrackBar1.Value = WindowsMediaPlayer.controls.currentPosition
        End If
    End Sub

    Private Sub TrackBar1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar1.Scroll
        ' تغيير نقطة التشغيل
        WindowsMediaPlayer.controls.currentPosition = TrackBar1.Value
    End Sub

End Class
من اللي له صلاحية يغير الوسم اللي في الموضوع

1: صاحب الموضوع
2: الإدارة
3: أي عضو (كيف؟)
تقدر تحرك مسطرة TrackBar1 بس طبعا مثل مديابلاير الويندوز لازم تنتظر ثانية أو ثانيتين عشان يحلل مكان النقطة الجديدة ويكمل من عندها
أضفت للمثال 2 لابيل ، الاول Label1 يعرض مدة الفلم كامل والثاني Label2 يعرض النقطة الحالية (العرض على هيئة 00:00)
كود :
Public Class Form1

    Dim WithEvents WindowsMediaPlayer As WMPLib.WindowsMediaPlayer = New WMPLib.WindowsMediaPlayer

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim op As New OpenFileDialog
        op.Filter = "all media |*.mp3;*.wma;*.mpg;*.avi;*.mp4;*.wmv"
        If op.ShowDialog = Windows.Forms.DialogResult.OK Then

            ' معرفة مدة ملف الفيديو أو الصوت
            TrackBar1.Maximum = WindowsMediaPlayer.newMedia(op.FileName).duration
            ' عرض  مدة ملف الفيديو أو الصوت
            Label1.Text = WindowsMediaPlayer.newMedia(op.FileName).durationString

            ' تشغيل
            WindowsMediaPlayer.URL = op.FileName
            WindowsMediaPlayer.controls.play()

        End If
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        ' التأكد من التشغيل
        If WindowsMediaPlayer.playState = WMPLib.WMPPlayState.wmppsPlaying Then
            ' معرفة نقطة التشغيل
            TrackBar1.Value = WindowsMediaPlayer.controls.currentPosition
            ' عرض نقطة التشغيل
            Label2.Text = WindowsMediaPlayer.controls.currentPositionString
        End If
    End Sub

    Private Sub TrackBar1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar1.Scroll
        ' تغيير نقطة التشغيل
        WindowsMediaPlayer.controls.currentPosition = TrackBar1.Value
    End Sub

End Class