異なるファイルタイプのフォルダからオーディオファイルのみを取得しようとしています。画像、動画などが好き。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)を宣言したからです。 –