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.
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.