使用ffmpeg显示音频文件的波形图片

问题描述 投票:0回答:1

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

kotlin android-ffmpeg soundwaves
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.