bonjour, et merci d'avance pour votre aide.
j'ai des milliers de fichiers MP3s dont je veux récupérer la durée de chacun.
je passe passe par AS3 sur FLEX et voila le code que j'utilise :
ce qui m'affiche dans un TextArea
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 import mx.messaging.channels.StreamingAMFChannel; import mx.controls.Alert import flash.media.Sound; import flash.media.SoundChannel; [Bindable] public var iStart:Number = 10001; [Bindable] public var max:Number; public var i:uint; public var counter:Number = 0; [Bindable] public var outputValue:String = ""; public function init():void { var mp3:Sound; var urlMp3:String; iStart = iStart + 100; max = iStart + 99; counter = 0; outputValue = "start\n"; for(i=iStart; i<=max; i++) { mp3 = new Sound(); urlMp3 = "F:/export/" + i + ".mp3"; mp3.load(new URLRequest(urlMp3)); mp3.addEventListener( Event.COMPLETE, endLoad ); } iStartMax = "from : " + iStart + " -> to " + max; } public function endLoad(e:Event):void { var mp3:Sound = Sound(e.target) var duree:Date = new Date(mp3.length); var m:String; var s:String; if( duree.minutes < 10 ) m = "0" + duree.minutes; else m = "" + duree.minutes; if( duree.seconds < 10 ) s = "0" + duree.seconds; else s = "" + duree.seconds; var idMp3:String = mp3.url.replace("file:///F:/export/", ""); idMp3 = idMp3.replace(".mp3", ""); counter++; outputValue = outputValue + "00:" + m + ":" + s + " -> " idMp3 "\n"; }
le script marche correctement et sans problème, mais le hic est que je ne peux traiter que des lots de 100 fichiers ( pour un ensemble de 56000 fichiers ). si je dépasse 100 fichiers le script plante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 00:25:30 -> fichier1.mp3 00:12:49 -> fichier2.mp3 ....
pouvez vous me proposer une autre alternative pour que je puisse lancer le traitement sur l'ensemble une seule fois ( tous les 56000 fichiers ).
merci
Partager