我想从仅具有不同文件类型的文件夹中获取音频文件。像图片,视频等..如何使用fs.readFileSync()获取特定文件()
我做了一个函数来过滤结果,但它只返回我的第一个音频文件,我不知道我做错了什么。
的CoffeeScript:
@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
有没有办法直接做到这一点?而不需要创建一个函数或循环。这将是太棒了。像这样的东西。
fileExtensions = ["mp3","m4a","3gp","wav","webm","etc"...]
@audioFiles = fs.readdirSync(pathToMusic,"fileExtencions")
我解决这个问题。我意识到我收到了错误的数组长度。因为我声明了数组(musicFiles = Array)而不指定长度。 –