我想從僅具有不同文件類型的文件夾中獲取音頻文件。像圖片,視頻等..如何使用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)而不指定長度。 –