0

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

4

1 回答 1

0

它使用-i ${audioFile.path} -filter_complex "showwavespic=s=640x120" -frames:v 1 ${wavePic.path}

于 2020-04-04T13:30:10.100 回答