تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مكتبة لتشغيل ملفات mp3;wav;mid;wma;asf;avi
#3
وجزاك بالمثل اخي
واعتذر نسيت وضع الكلاس لتعم الفائدة للجميع

كود :
Public Class MediaPlayer
    Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer
    Private Declare Function mciGetErrorString Lib "winmm.dll" Alias "mciGetErrorStringA" (ByVal dwError As Integer, ByVal lpstrBuffer As String, ByVal uLength As Integer) As Integer

    Public Event MediaOpened(ByVal sender As System.Object, ByVal e As System.EventArgs)
    Public Event MediaClosed(ByVal sender As System.Object, ByVal e As System.EventArgs)

    Private Shared ObjectCount As Integer = 0
    Private retVal As Integer = 0
    Private returnData As String = Space(128)
    Private errorString As String = Space(128)
    Private errorSuccess As Boolean
    '
    Sub New()
        ObjectCount = ObjectCount + 1
        mFileAlias = "SND" & Hex(Now.Ticks) & Hex(ObjectCount)
    End Sub

    Sub New(ByVal pFileName As String)
        Me.New()
        Me.FileName = pFileName
    End Sub


    Private mFileAlias As String
    ReadOnly Property FileAlias() As String
        Get
            Return mFileAlias
        End Get
    End Property

    Private mFileName As String
    Property FileName() As String
        Get
            Return mFileName
        End Get
        Set(ByVal value As String)
            Me.Stop()
            Me.close()
            mFileName = value
        End Set
    End Property

    Private mLength As Long = 0
    Public ReadOnly Property Length() As Long
        Get
            Return mLength
        End Get
    End Property

    Public Property Position() As Long
        Get
            retVal = mciSendString("status " & Me.FileAlias & " position", returnData, 128, 0)
            Return Val(returnData)
        End Get
        Set(ByVal value As Long)
            If Me.IsPlaying() Then
                retVal = mciSendString("play " & Me.FileAlias & " from " & value.ToString, 0, 0, 0)
            Else
                retVal = mciSendString("seek " & Me.FileAlias & " to " & value.ToString, 0, 0, 0)
            End If
        End Set
    End Property


    Public ReadOnly Property IsPlaying() As Boolean
        Get
            retVal = mciSendString("status " & Me.FileAlias & " mode", returnData, 128, 0)
            Return returnData.StartsWith("playing")
        End Get
    End Property


    Private mVolume As Byte = 100
    Public Property volume() As Byte
        Get
            Return mVolume
        End Get
        Set(ByVal value As Byte)
            If value > 100 Then
                value = 100
            End If
            mVolume = value

            Dim vol As Integer = (Me.volume * 10)
            retVal = mciSendString("setaudio " & Me.FileAlias & " volume to " & vol.ToString, 0, 0, 0)

        End Set
    End Property

    Private mIsOpen As Boolean = False
    Sub open(ByVal sFileName As String)
        Me.FileName = sFileName
        Me.open()
    End Sub

    Public ScreenHandel As Int32 = 0

    Sub open()
        Me.close()
        If ScreenHandel <= 0 Then
            retVal = mciSendString("open """ & Me.FileName & """ type mpegvideo alias " & Me.FileAlias, 0, 0, 0)
        Else
            retVal = mciSendString("open """ & Me.FileName & """ type mpegvideo alias " & Me.FileAlias & " parent " & ScreenHandel.ToString & " style " & "child" & " ", 0, 0, 0)
        End If

        retVal = mciSendString("set " & Me.FileAlias & " time format ms", 0, 0, 0)

        retVal = mciSendString("status " & Me.FileAlias & " length", returnData, 128, 0)
        mLength = Val(returnData)
        mIsOpen = True
        Me.volume = Me.volume
        RaiseEvent MediaOpened(Me, New System.EventArgs)
    End Sub

    Sub Play(Optional ByVal repate As Boolean = False)
        If repate = True Then
            Me.Play("repeat")
        Else
            Play("")
        End If
    End Sub


    Sub Play(ByVal pFileName As String, ByVal pRepate As Boolean)
        Me.FileName = pFileName
        Me.Play(pRepate)
    End Sub

    Sub Play(ByVal pCommand As String)
        Dim Cmd As String = "play " & Me.FileAlias & " " & pCommand
        If mIsOpen = False Then
            Me.close()
            Me.open()
        End If
        retVal = mciSendString(Cmd, 0, 0, 0)
    End Sub


    Sub Pause()
        retVal = mciSendString("pause " & Me.FileAlias, 0, 0, 0)
    End Sub


    Sub [resume]()
        retVal = mciSendString("resume " & Me.FileAlias, 0, 0, 0)
    End Sub

    Sub [Stop]()
        retVal = mciSendString("stop " & Me.FileAlias, 0, 0, 0)
    End Sub


    Sub close()
        Me.Stop()
        retVal = mciSendString("close " & Me.FileAlias, 0, 0, 0)
        '----------------------------------
        If mIsOpen = True Then
            RaiseEvent MediaClosed(Me, New System.EventArgs)
        End If
        '----------------------------------
        mIsOpen = False
        mLength = 0
        '--------------------------------------

    End Sub

End Class
الرد }}}
تم الشكر بواسطة: kslawy , ali.alfoly , mohammed moh , sooriaty03 , salfig


الردود في هذا الموضوع
RE: مكتبة لتشغيل ملفات mp3;wav;mid;wma;asf;avi - بواسطة 3booody - 28-10-13, 03:21 PM
RE: ... - بواسطة sooriaty03 - 24-11-13, 10:04 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [مثال] اظهارشريط تقدم اثناء نسخ او نقل ملفات asmarsou 0 754 20-12-22, 09:33 PM
آخر رد: asmarsou
  البوم ملفات صوتية [updated ] سعود 18 6,374 20-08-22, 03:37 AM
آخر رد: سعود
  [مشروع] برنامج لدمج عدة ملفات Pdf في ملف واحد BM PDFs Merger asmarsou 0 1,249 10-07-22, 07:26 PM
آخر رد: asmarsou
Music [مشروع] برنامج لدمج عدة ملفات صوتية في ملف واحد asmarsou 0 1,031 29-06-22, 09:56 PM
آخر رد: asmarsou
  برنامج تدمير ملفات مجلد معين محدد سعود 0 1,411 02-01-22, 02:58 PM
آخر رد: سعود
  [مشروع] فكرة ادارة بيانات في ملفات نصية سعود 4 2,602 15-12-21, 07:33 AM
آخر رد: سعود
  مثال لحمايه ملفات البرنامج من النسخ alshandodi 4 3,731 30-11-21, 10:34 PM
آخر رد: mohamed-montaser
  [مثال] حفظ ملفات لـ PDF و الوورد والاكسيل داخل قاعدة البيانات( تحديث جديد) جميل علي 18 16,975 21-11-21, 11:39 PM
آخر رد: ibra9009
  مكتبة الساعة الحائطية عن طريق دوت نت adel2012 1 3,790 01-11-21, 01:12 AM
آخر رد: kebboud
  [مشروع] [ليس جديد ] برنامج بحث عن ملفات محددة في مجلدات عمومية معرفة سعود 0 1,631 01-02-21, 09:22 PM
آخر رد: سعود

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


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