Android MediaController/VideoView可以';在某些手机上不能播放mp4
在我的应用程序中,我根据用户使用Ffmpeg拍摄的图像创建视频。我使用MediaController和VideoView播放此视频。当我使用Google Nexus 4的Genymotion emulator运行应用程序时,视频文件播放没有问题。当我使用三星Galaxy S4的Genymotion模拟器时,我从错误监听器上的VideoView中得到一个错误,即“无法播放视频”Android MediaController/VideoView可以';在某些手机上不能播放mp4,android,ffmpeg,android-videoview,mediacontroller,Android,Ffmpeg,Android Videoview,Mediacontroller,在我的应用程序中,我根据用户使用Ffmpeg拍摄的图像创建视频。我使用MediaController和VideoView播放此视频。当我使用Google Nexus 4的Genymotion emulator运行应用程序时,视频文件播放没有问题。当我使用三星Galaxy S4的Genymotion模拟器时,我从错误监听器上的VideoView中得到一个错误,即“无法播放视频” 谢谢您的帮助。仅仅因为扩展名是。mp4不能保证它将由MediaPlayer播放。如果它不是受支持的编码,它将不会播放它。
谢谢您的帮助。仅仅因为扩展名是
。mp4
不能保证它将由MediaPlayer播放。如果它不是受支持的编码,它将不会播放它。请看一下所有的图片
因此,请反思您的代码,并找到您的视频使用的编码类型。此外,如果您正在寻找一种更强大的视频播放方式,您也可以试用Google的Exoplayer。使用
ffmpeg
转换视频对我的应用程序来说效果很好。我希望这有助于:
ffmpeg -i old.mp4 -c:v libx264 -profile:v baseline -level 1 -strict -2 new.mp4
我在堆栈溢出的其他地方发现了这行代码,但不幸的是,我无法追溯到哪里。所以,如果有人看到它,请链接到这里。原始版本的命令中没有
-strict-2
。Hi@oblivion,是的,我在发布之前检查了该链接,根据规定的编解码器,一切都应该正常。我会查看Exoplayer谢谢。而且,一定要在真正的设备上测试应用程序,以确认一些事情!快乐编码:)显示实际的ffmpeg
命令和完整的控制台输出将提供信息。