Control pour utiliser plus facilement fmodex.dll

Description

Voici une petite api qui montre comment utiliser les control que j'ai fait pour utiliser plus facilement Fmodex.

Source / Exemple :


Public Class Form1
    Private bolCompte As Boolean

    Private Sub StatuChange()
        Select Case FmodPlayer1.PlayStatu
            Case 0
                tmrPlayer.Enabled = True
                picStatu.ImageLocation = Application.StartupPath & "\ImgStatu\Play.bmp"
            Case 1
                tmrPlayer.Enabled = False
                FmodVuMetre1.DrawVuMetre()
                FmodPlayer1.PlayerTime()
                FmodProgresBar1.DrawProgresBar()
                FmodSpectrum1.DrawSpectrum()
                picStatu.ImageLocation = Application.StartupPath & "\ImgStatu\Pause.bmp"
            Case 2
                tmrPlayer.Enabled = False
                FmodVuMetre1.DrawVuMetre()
                FmodPlayer1.PlayerTime()
                FmodProgresBar1.DrawProgresBar()
                FmodSpectrum1.DrawSpectrum()
                picStatu.ImageLocation = Application.StartupPath & "\ImgStatu\Stop.bmp"
        End Select
    End Sub

    Private Sub Erreur()
        End
    End Sub

    Private Function ConvertTime(ByVal Time As Integer) As String
        Dim CentSec As Integer
        Dim Sec As Integer
        Dim Min As Integer
        Dim Heure As Integer

        CentSec = Time \ 10
        Sec = Time \ 1000
        CentSec = CentSec - Sec * 100
        Min = Sec \ 60
        Sec = Sec - Min * 60
        Heure = Min \ 60
        Min = Min - Heure * 60
        If Heure <> 0 Then
            ConvertTime = Heure & ":" & Format(Min, "00") & ":" & Format(Sec, "00") & "." & Format(CentSec, "00")
        Else
            If Min <> 0 Then
                ConvertTime = Min & ":" & Format(Sec, "00") & "." & Format(CentSec, "00")
            Else
                If Sec <> 0 Then
                    ConvertTime = Sec & "." & Format(CentSec, "00")
                Else
                    ConvertTime = CentSec
                End If
            End If
        End If
    End Function

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'ouverture
        Me.Width = 430
        Me.Height = 400
        '++++++++++++++++init de la dll++++++++++++++++++++++
        If FmodPlayer1.InitPlayer() = False Then
            End
        End If
        '++++++++++chargement des param par defaut++++++++++++
        'le spectrum
        cmbMode.SelectedIndex = 3
        FmodSpectrum1.ModeSpectre = cmbMode.SelectedIndex
        FmodSpectrum1.Riche = True
        FmodSpectrum1.ZoomSpectre = numZoom.Value
        'le vumetre
        FmodVuMetre1.Riche = True
        'le generateur
        cmbForme.SelectedIndex = 0
        FmodGenerator1.Location = New Point(126, 288)
        FmodGenerator1.Visible = False
        numFrequence.Location = New Point(329, 288)
        numFrequence.Value = FmodGenerator1.Frequence
        numFrequence.Visible = False
        cmbForme.Location = New Point(196, 288)
        cmbForme.Visible = False
        '------------
        Select Case FmodPlayer1.PlayStatu
            Case 0
                picStatu.ImageLocation = Application.StartupPath & "\ImgStatu\Play.bmp"
            Case 1
                picStatu.ImageLocation = Application.StartupPath & "\ImgStatu\Pause.bmp"
            Case 2
                picStatu.ImageLocation = Application.StartupPath & "\ImgStatu\Stop.bmp"
        End Select
        '***************AddHandler********************
        'Erreur
        AddHandler FmodGenerator1.Erreur, AddressOf Erreur
        AddHandler FmodPlayer1.Erreur, AddressOf Erreur
        AddHandler FmodProgresBar1.Erreur, AddressOf Erreur
        AddHandler FmodSpectrum1.Erreur, AddressOf Erreur
        AddHandler FmodVuMetre1.Erreur, AddressOf Erreur
        'statuchange
        AddHandler FmodPlayer1.StatuChange, AddressOf StatuChange
        AddHandler FmodGenerator1.StatuChange, AddressOf StatuChange
    End Sub

    Private Sub chkTeste_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkTeste.CheckedChanged
        Select Case chkTeste.Checked
            Case True
                '+++++++++++Mode teste++++++++++
                FmodProgresBar1.Visible = False
                FmodPlayer1.Visible = False
                cmdDir.Visible = False
                txtDir.Visible = False
                FmodPlayer1.PlayerStop()

                '---
                FmodGenerator1.Visible = True
                numFrequence.Visible = True
                cmbForme.Visible = True
            Case False
                '+++++++++++Mode normal+++++++++
                FmodProgresBar1.Visible = True
                FmodPlayer1.Visible = True
                cmdDir.Visible = True
                txtDir.Visible = True
                '---
                FmodGenerator1.Visible = False
                numFrequence.Visible = False
                cmbForme.Visible = False
                FmodGenerator1.FormWave = -1
                cmbForme.SelectedIndex = 0
        End Select
    End Sub

    Private Sub cmbForme_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbForme.SelectedIndexChanged
        Select Case cmbForme.SelectedIndex
            Case 0
                FmodGenerator1.FormWave = -1
            Case 1
                FmodGenerator1.FormWave = 0
            Case 2
                FmodGenerator1.FormWave = 1
            Case 3
                FmodGenerator1.FormWave = 2
            Case 4
                FmodGenerator1.FormWave = 3
            Case 5
                FmodGenerator1.FormWave = 4
            Case 6
                FmodGenerator1.FormWave = 5
        End Select
    End Sub

    Private Sub cmbMode_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbMode.SelectedIndexChanged
        FmodSpectrum1.ModeSpectre = cmbMode.SelectedIndex
    End Sub

    Private Sub tmrPlayer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrPlayer.Tick
        FmodPlayer1.PlayerTime()
        If bolCompte Then
            labTime.Text = ConvertTime(FmodPlayer1.PlayTime)
        Else
            labTime.Text = "-" & ConvertTime(FmodPlayer1.PlayTimeLen - FmodPlayer1.PlayTime)
        End If
        labTimeTotal.Text = "/ " & ConvertTime(FmodPlayer1.PlayTimeLen)
        FmodProgresBar1.DrawProgresBar()
        If FmodPlayer1.PlayStatu = 0 Then
            FmodSpectrum1.DrawSpectrum()
            FmodVuMetre1.DrawVuMetre()
        End If
    End Sub

    Private Sub numFrequence_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles numFrequence.ValueChanged
        FmodGenerator1.Frequence = numFrequence.Value
    End Sub

    Private Sub tkbBalance_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tkbBalance.Scroll
        FmodPlayer1.Pan = tkbBalance.Value / 10
    End Sub

    Private Sub numZoom_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles numZoom.ValueChanged
        FmodSpectrum1.ZoomSpectre = numZoom.Value
    End Sub

    Private Sub labTime_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles labTime.Click
        bolCompte = Not bolCompte
    End Sub

    Private Sub cmdDir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdDir.Click
        OpenFileDialog1.Filter = "Fichiers Wave (*.wav)|*.wav|Fichiers Mp3 (*.mp3)|*.mp3|Tous les Fichiers (*.*)|*.*"
        If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
            txtDir.Text = Microsoft.VisualBasic.Left((Dir(OpenFileDialog1.FileName)), _
                                                      Len(Dir(OpenFileDialog1.FileName)) - 4)
            FmodPlayer1.PlayPath = OpenFileDialog1.FileName
        End If
    End Sub

    Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged
        FmodSpectrum1.Riche = CheckBox2.Checked
        FmodVuMetre1.Riche = CheckBox2.Checked
    End Sub

    Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
        Me.Width = 430
        Me.Height = 400
    End Sub
End Class

Conclusion :


Une fois le fichier deziper, renomer le fichier fmodex.dl_ en fmodex.dll, ouvrir et generer le projet jusqu'a ne plus avoir d'avertissement.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.