我尝试将音频文件的波形作为图像。我想使用FFmpeg,但是不幸的是,我在这方面发现的代码很少,而纪录片仅举一个例子。我第一次使用它。因此,我使用showwavespic尝试了此kotlin代码:
val audioFile = File(pathAudioFile)
val wavePic = File(context.filesDir.absolutePath + "/waveform.png")
val cmd = "-y -i ${audioFile.path} showwavespic=s=640x120 ${wavePic.path}"
try {
when(FFmpeg.execute(cmd)){
Config.RETURN_CODE_SUCCESS -> {
frameLayout.findViewById<ImageView>(R.id.waveView).setImageURI(Uri.fromFile(wavePic))
}
else -> {
}
}
使用该命令调用了else-block get,因此似乎是错误的。这是纪录片中的例子
ffmpeg -i audio.flac -lavfi showwavespic=split_channels=1:s=1024x800 waveform.png
我暂时不需要可用的选项,那是我的错?我也不确定是否需要路径或文件本身,因此尝试了此操作:
val cmd = "-i $audioFile waveform.png"
但是那也不行。有人可以帮我使用FFmpeg的第一步吗?
使用-i ${audioFile.path} -filter_complex "showwavespic=s=640x120" -frames:v 1 ${wavePic.path}
有效