我尝试将音频文件的波形作为图像。我想使用 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 的第一步吗?