تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[محلولة] عن ضبط قيمة trackbar بناء على قيمة duration الخاصة بـ axwindowsmediaplayer
#1
لما نعرف هكذا
كود :
Dim WithEvents AxWindowsMediaPlayer1 As New WindowsMediaPlayer

كيف استطيع اجعل قيمة الـ trackbar تتغير مع تقدم الفيلم او الصوت
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة:
#2
تقضل أخي سعود
كود :
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
الرد }}}
تم الشكر بواسطة: سعود
#3
من اللي له صلاحية يغير الوسم اللي في الموضوع

1: صاحب الموضوع
2: الإدارة
3: أي عضو (كيف؟)
الرد }}}
تم الشكر بواسطة: سعود
#4
تقدر تحرك مسطرة TrackBar1 بس طبعا مثل مديابلاير الويندوز لازم تنتظر ثانية أو ثانيتين عشان يحلل مكان النقطة الجديدة ويكمل من عندها
الرد }}}
تم الشكر بواسطة: سعود
#5
أضفت للمثال 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
الرد }}}
تم الشكر بواسطة: سعود



التنقل السريع :


يقوم بقرائة الموضوع: