2009-09-06 10 views
0

J'ai une application Windows Forms et j'utilise une instance de Windows Media Player (via WMPLib) pour lire des fichiers audio/vidéo, au format wmv ou wav. Ce que je dois actuellement faire est de diviser le fichier original et d '"extraire" un ou plusieurs clips de celui-ci, disons 3-4 secondes à partir d'un moment spécifique du fichier.Fractionner le fichier wmv/wav dans l'application WinForms

Des idées comment faire ceci?

bibliothèques tiers sont ok, tant qu'ils ne sont pas tous si cher que ça

Répondre

4

Jetez un oeil à la Windows Media Encoder SDK. Quelque chose comme ceci:

Int32 StartTime = 60 * 1000; 
Int32 EndTime = 120 * 1000; 
String SourceName = "original.mp3"; 
String DestinationName = "split.mp3"; 
WMEncBasicEdit SplitFile = new WMEncBasicEdit(); 
SplitFile.MediaFile = SourceName; 
SplitFile.OutputFile = DestinationName; 
SplitFile.MarkIn = StartTime; 
SplitFile.MarkOut = EndTime; 
SplitFile.Start(); 

devrait fonctionner.

+0

Merci mon ami! Cela a fonctionné vraiment doux! Il suffit de modifier votre publication pour utiliser SplitFile au lieu de BasicEdit dans le code afin qu'il soit correct pour référence future! –

0

Ou utiliser ffmpeg

+0

Eh bien non, il casse les fichiers .wav coupés. Utilisez sox (http://sox.sourceforge.net/) pour créer .raw. Coupez le fichier comme vous le souhaitez, puis utilisez sox pour créer plusieurs fichiers .wav à partir du fichier. – magerain