【问题标题】:Android and video streamingAndroid 和视频流
【发布时间】:2012-02-16 12:19:39
【问题描述】:

我有这个代码:

@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();  
     }

如果工作正常,但如果 url 是 http://www.tuoregalo.com/video2.avi 它就不起作用....为什么?错误消息是“无法看到视频”

【问题讨论】:

    标签: android streaming media-player android-videoview


    【解决方案1】:

    我也遇到过这个问题,当 url 上的文件是 mp4 类型时它可以工作 但是当您尝试使用一个 avi 文件时,它确实不起作用,因为所有关闭的 android 手机,包括模拟器 dosent 都支持 avi 格式,avi 格式在 iPhone 上可以正常工作,但在 android 上不行,您的代码绝对可以。

    您可以通过将 avi 转换为 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 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多