Что я хочу сделать, так это создать предварительный просмотр для каждого файла m4a. Я пытаюсь сделать это с помощью Java Sound и JAAD.
Вот моя попытка в Scala
import java.io.{File, FileOutputStream}
import javax.sound.sampled.AudioSystem
/**
* Created by khanguyen on 7/21/15.
*/
object Main extends App {
val filePath = "audio.m4a"
val file = new File(filePath)
val audio = AudioSystem.getAudioInputStream(file)
println(audio.getFrameLength) // return -1
println(audio.getFormat) // return PCM_SIGNED 0.0 Hz, 0 bit, 0 channels, 0 bytes/frame,
val output = new FileOutputStream("outputaudio.m4a")
var buffer = Array.fill[Byte](1024)(0)
for (i <- 0 to 1024) {
audio.read(buffer, i * 1024, 1024)
buffer.take(10).map(println)
output.write(buffer)
}
audio.close()
output.flush()
output.close()
}
Я не могу ничего прочитать из входного аудиопотока. Говорят, что длина кадра равна -1
. После прохода чтения все байты в Array[Byte] по-прежнему равны 0
. Я что-то упустил?