pour oggenc oui il ne convertie pas un mp3 en ogg mais un wav.
pour la compatibilité tu as raison aussi, il ne convertie pas le mono il aime pas.
Mais pour tes tests, voici mon code du départ qui permet de couper un mp3, et qui te permet de sortir du wav en stéréo et le transforme en ogg.
mon code prend un mp3 le coupe et le sort en wav avec ffmpeg.
Ensuite, il récupere le wav fraichement créer et le transforme en ogg avec oggenc. Et supprime bien entendu le fichier wav qui lui et temporaire.
Bien avidement avec cette alternative, il te faut ffmpeg et oggenc dans ton system32
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")
TrackBarGadget(#TrackBar_0, 25, 185, 225, 20, 0, 120)
SetGadgetState(#TrackBar_0, 60)
TextGadget(#Text_1, 105, 155, 65, 20, Str(GetGadgetState(#TrackBar_0)), #PB_Text_Center)
Frame3DGadget(#Frame3D_2, 325, 105, 265, 120, "")
TextGadget(#Text_2, 340, 125, 225, 20, "Durée de la decoupe en seconde", #PB_Text_Center)
TrackBarGadget(#TrackBar_1, 340, 185, 225, 20, 0, 60)
SetGadgetState(#TrackBar_1, 30)
TextGadget(#Text_3, 420, 155, 65, 20, Str(GetGadgetState(#TrackBar_1)), #PB_Text_Center)
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 wav|*.wav" , 0)
SetGadgetText(#String_1, Fichier_Couper$+".wav")
Case #TrackBar_0
SetGadgetText(#Text_1, Str(GetGadgetState(#TrackBar_0)))
Case #TrackBar_1
SetGadgetText(#Text_3, Str(GetGadgetState(#TrackBar_1)))
Case #Button_2
SetGadgetText(#Button_2, "Découpe et compression en cours...")
parametre$ = "-ss "+Str(GetGadgetState(#TrackBar_0))+" " + "-t "+Str(GetGadgetState(#TrackBar_1))+" " + "-i " + Chr($22) + Fichier_Depart$ + Chr($22) + " " + Chr($22) + Fichier_Couper$ +".wav"+ Chr($22)
RunProgram("FFmpeg.exe", parametre$, "", #PB_Program_Wait | #PB_Program_Hide, 1)
RunProgram("oggenc.exe", "-M 16 " + "-q -1 " + "--resample 8000 " + "-R 48000 " + Chr($22) + Fichier_Couper$ + ".wav " + Chr($22) + " " + Chr($22) + Fichier_Couper$ +".ogg"+ Chr($22), "", #PB_Program_Wait | #PB_Program_Hide, 1)
DeleteFile(GetGadgetText(#String_1))
End
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow