Par contre je me suis un peut emballer je penser que tu chercher le moyen de couper du mp3 toi tu veut le réduire niveau poids
Donc avant de compiler quoi que ce soit, il te faut ffmpeg en ligne de commande. Bol pour toi j'ai le lien sous le coude :
une fois télécharger puis décompresser tu met le fichier ffmpeg.exe dans ton dossier c:\windows\system32.
maintenant tu peut regarder au niveau du code et tester voir si cela te convient.
j'ai mis une petite aide en bas du code si il y a des lignes que tu ne comprend pas dit le.
Code : Tout sélectionner
;- Window Constants
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
Enumeration
#Frame3D_0
#String_0
#Button_0
#String_1
#Button_1
#Frame3D_1
#Text_0
#Text_1
#TrackBar_0
#Frame3D_2
#Text_2
#Text_3
#TrackBar_1
#Button_2
EndEnumeration
If OpenWindow(#Window_0, 216, 0, 600, 280, "New window ( 0 )", #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
Frame3DGadget(#Frame3D_0, 10, 10, 580, 85, "")
StringGadget(#String_0, 20, 30, 455, 20, "")
ButtonGadget(#Button_0, 485, 30, 100, 20, "Fichier a couper")
StringGadget(#String_1, 20, 60, 455, 20, "")
ButtonGadget(#Button_1, 485, 60, 100, 20, "enregistrer sous")
Frame3DGadget(#Frame3D_1, 10, 105, 265, 120, "")
TextGadget(#Text_0, 25, 125, 225, 20, "Position de depart pour la decoupe en seconde")
TextGadget(#Text_1, 105, 155, 65, 20, "0", #PB_Text_Center)
TrackBarGadget(#TrackBar_0, 25, 185, 225, 20, 0, 120)
Frame3DGadget(#Frame3D_2, 325, 105, 265, 120, "")
TextGadget(#Text_2, 340, 125, 225, 20, "Durée de la decoupe en seconde", #PB_Text_Center)
TextGadget(#Text_3, 420, 155, 65, 20, "0", #PB_Text_Center)
TrackBarGadget(#TrackBar_1, 340, 185, 225, 20, 0, 60)
ButtonGadget(#Button_2, 195, 240, 210, 25, "Démarrer la découpe")
EndIf
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case #Button_0
Fichier_Depart$ = OpenFileRequester("Choisir le fichier a couper", "", "Fichier mp3|*.mp3" , 0)
SetGadgetText(#String_0, Fichier_Depart$)
Case #Button_1
Fichier_Couper$ = SaveFileRequester("Enregistrer sous", "", "Fichier mp3|*.mp3" , 0)
SetGadgetText(#String_1, Fichier_Couper$+".mp3")
Case #TrackBar_0
SetGadgetText(#Text_1, Str(GetGadgetState(#TrackBar_0)))
Case #TrackBar_1
SetGadgetText(#Text_3, Str(GetGadgetState(#TrackBar_1)))
Case #Button_2
parametre$ = "-ss "+Str(GetGadgetState(#TrackBar_0))+" " + "-t "+Str(GetGadgetState(#TrackBar_1))+" " + "-ab 32k " + "-ac 1 " + "-i " + Chr($22) + Fichier_Depart$ + Chr($22) + " " + Chr($22) + Fichier_Couper$ +".mp3"+ Chr($22)
RunProgram("FFmpeg.exe", parametre$, "", #PB_Program_Wait | #PB_Program_Hide, 1)
End
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
; Résumé :
; ffmpeg permet de manipuler du son et de la video en ligne de commande.
; pour son utilisation un runprogram est a utilisé dans purebasic.
;
; RunProgram("FFmpeg.exe", parametre$, "", #PB_Program_Wait | #PB_Program_Hide , 1)
; FFmpeg.exe = est le fichier a lancer en ligne de commande.
; parametre$ = est l'endroit le plus intéressant dans ce code voici sa composition :
; "-ss " = est la valeur ou ffmpeg va commencer a couper dans la chanson ou vidéo exemple 60 secondes. -ss renvoie toujours en seconde
; "-t " = est la durée de la découpe exemple 30 secondes. -t renvoie toujours en seconde
; "-i " = permet d'indiquer a ffmpeg les fichier de destination ( le fichier de depart ainsi que l'endroit ou sauvegarder le fichier modifier )
; Chr($22) = permet de mettre une parenthésé dans une console car si le fichier se trouve dans : C:\Documents And settings\mon son et bien ffmpeg va s'arrêter a : C:\Documents et ne trouvera pas le fichier
; donc avec Chr($22) le résultat renvoie ceux-ci "C:\Documents And settings\mon son"
pour ceux qui est du mono je chercherais plus tard mais sa doit etre possible.