다른 파일 형식을 가진 폴더에서 오디오 파일 만 가져 오려고합니다. 이미지, 비디오 등.fs.readFileSync()를 사용하여 특정 파일을 가져 오는 방법
나는 결과를 필터링하는 함수를 만들었지 만 내가 잘못하고있는 첫 번째 오디오 파일 만 반환합니다.
커피 스크립트 :
@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)을 선언했기 때문입니다. –