Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android VideoView无法正确播放视频中的音频_Android_Audio_Video_Ffmpeg_Android Videoview - Fatal编程技术网

Android VideoView无法正确播放视频中的音频

Android VideoView无法正确播放视频中的音频,android,audio,video,ffmpeg,android-videoview,Android,Audio,Video,Ffmpeg,Android Videoview,我有一个持续时间为2分钟的*.mp4文件。现在它有音频曲目,从30秒到1.10分钟。其余30s之前和1.10min之后为空 现在的问题是,当我尝试在videoview或mediaplayer中播放它时,它会从视频的开始播放音频,而不是从它的实际位置播放音频。我在多部手机上试过,结果都是一样的 当我在MXPlayer或Windows(VLC)中播放同一视频时;它演奏得很好 这个问题的解决办法是什么 编辑 我使用了Ffmpeg的-itscaffset命令来实现上述视频 ffmpeg -y -i a.

我有一个持续时间为2分钟的
*.mp4
文件。现在它有音频曲目,从
30秒到1.10分钟。其余
30s
之前和
1.10min
之后为空

现在的问题是,当我尝试在
videoview
mediaplayer
中播放它时,它会从视频的开始播放音频,而不是从它的实际位置播放音频。我在多部手机上试过,结果都是一样的

当我在
MXPlayer
Windows(VLC)
中播放同一视频时;它演奏得很好

这个问题的解决办法是什么

编辑

我使用了
Ffmpeg
-itscaffset
命令来实现上述视频

ffmpeg -y -i a.mp4 -itsoffset 00:00:30 sng.m4a -map 0:0 -map 1:0 -c:v copy -preset ultrafast out.mp4

提前感谢。

必须有一种更简单的方法来做,但以下方法对我来说很好:

ffmpeg -y -i a.mp4 -itsoffset 00:00:30 sng.m4a -f lavfi -i "aevalsrc=0" -filter_complex "[1:a][2:a]amix=inputs=2:duration=first:dropout_transition=0, apad[out]" -map 0:v -map '[out]' -c:v copy -preset ultrafast -shortest out.mp4
它做了以下工作:

  • 发出无声的声音
  • 将其与移位的音频混合,直到m4a文件结束
  • 默不作声
  • 映射此和输入视频
  • 选择最短持续时间(由于pad过滤器,视频持续时间和音频持续时间是无限的)
试试看;)


编辑:Jay的解决方案,使用“-async 1”,简单多了,检查一下吧

好,最后我只添加了一个选项
-async

ffmpeg -y -i a.mp4 -itsoffset 00:00:30 sng.m4a -map 0:0 -map 1:0 -c:v copy -preset ultrafast -async 1 out.mp4
默认情况下,音频/视频时间戳被拉伸以相互匹配;这就是我的问题,即使在给出了
itscoffset
之后,音频也从初始开始


根据使用
async 1
仅更正音频的初始时间戳。我知道这个选项已被弃用;但无论如何它解决了我的问题。

谢谢你;但是使用
-async
选项解决了音频从初始开始而不是偏移的问题。我想在android中使用FFMPEG在VideoView中播放声音视频。你能指引我吗!我已经用android stdio配置了FFMPEG。