我有这段代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String url = "http://people.sc.fsu.edu/~jburkardt/data/mp4/cavity_flow_movie.mp4";
videoPlayer(url);
}
public void videoPlayer(String url){
getWindow().setFormat(PixelFormat.TRANSLUCENT);
VideoView videoHolder = (VideoView) findViewById(R.id.videoView1);
videoHolder.setMediaController(new MediaController(this));
videoHolder.setVideoPath(url);
videoHolder.requestFocus();
videoHolder.start();
}
如果工作正常但是,如果网址为http://www.tuoregalo.com/video2.avi则不起作用....为什么?错误消息是" Impossibile可视化视频"
答案 0 :(得分:1)
当网址上的文件是mp4类型时,我也遇到了这个问题 但是,当你尝试一个avi文件它doesent工作,因为所有关闭Android手机,包括模拟器dosent支持avi格式nativily avi格式与iPhone工作正常但不与Android你的代码绝对精细。
你可以通过将它转换为android来在android中玩avi 请查看此http://www.snowfoxsoft.com/tutorial/how-to-convert-avi-to-android-phone.html
看一些限制
自90年代初推出以来,引入了新的计算机视频技术,原始AVI规范没有预料到:
AVI没有提供编码宽高比信息的标准化方法,结果是玩家无法自动选择正确的方式(尽管可以手动选择)。[2] 有几种竞争方法在AVI文件中包含时间码,虽然它被广泛使用,但它影响了电影和电视后期制作中格式的可用性。对于WAV音频文件,Broadcast Wave扩展旨在标准化后期制作元数据,但尚未出现等效的AVI文件。 AVI不打算包含可变帧速率材料。此限制的变通方法会显着增加开销。 AVI并不打算使用任何需要访问当前帧之外的未来视频帧数据的压缩技术来包含视频。存在支持依赖于该功能的现代视频压缩技术(例如MPEG-4)的方法,尽管这超出了原始规范的意图并且可能导致不期望这种使用的回放软件的问题。 AVI不能可靠地包含某些特定类型的可变比特率(VBR)数据(例如采样率低于32 kHz的MP3音频)。 通常用于编码标准清晰度故事片的分辨率和帧速率的AVI文件开销约为每小时5 MB视频,其重要性因应用而异。 最新的容器格式(例如Matroska,Ogg和MP4)解决了所有这些问题,尽管可以免费使用软件来创建和正确重放使用这些最新技术的AVI文件。