Ich versuche, nur die Audiodateien aus einem Ordner, der verschiedene Dateitypen hat. Wie Bilder, Videos usw.So erhalten Sie bestimmte Dateien mit fs.readFileSync()
Ich machte eine Funktion, um die Ergebnisse zu filtern, aber es gibt mir nur die erste Audiodatei zurück, die ich nicht weiß, was ich falsch mache.
Coffee:
@audioFiles = @getAudioFiles()
getAudioFiles: ->
allFiles = fs.readdirSync(@pathtoMusic.toString())
musicFiles = Array
file = 0
cont = 0
#-- I also tried with a for loop --#
#for file of allFiles
# fileName = allFiles[file]
while(file < allFiles.length)
fileName = allFiles[file++]
fileExtension = fileName.split('.').pop();
if(fileExtension is "mp3") or (fileExtension is "MP3")
musicFiles[cont++] = fileName
if(fileExtension is "wav") or (fileExtension is "WAV")
musicFiles[cont++] = fileName
if(fileExtension is "3gp") or (fileExtension is "3GP")
musicFiles[cont++] = fileName
if(fileExtension is "m4a") or (fileExtension is "M4A")
musicFiles[cont++] = fileName
if(fileExtension is "webm") or (fileExtension is "WEBM")
musicFiles[cont++] = fileName
return musicFiles
Gibt es einen Weg, um es direkt zu tun ?, ohne dass eine Funktion oder eine Schleife zu erstellen. Es wäre fantastisch. Etwas wie das.
fileExtensions = ["mp3","m4a","3gp","wav","webm","etc"...]
@audioFiles = fs.readdirSync(pathToMusic,"fileExtencions")
ich das Problem zu beheben. Ich merke, dass ich eine falsche Array-Länge erhielt. weil ich das Array (musicFiles = Array) deklariert habe, ohne die Länge anzugeben. –