-->

NetStream的HTTP视频不打IOS设备上(NetStream http Video not

2019-08-31 06:29发布

我试图发挥iPad上的视频,我的代码如下:

public function init_RTMP():void
    {
        videoURL = "http://rest************_iphone_high.mp4";           
        vid = new Video();

        nc = new NetConnection();
        nc.addEventListener(NetStatusEvent.NET_STATUS, onConnectionStatus);
        nc.connect(null);           
    }

    private function onConnectionStatus(e:NetStatusEvent):void
    {
        if (e.info.code == "NetConnection.Connect.Success")
        {
            trace("Creating NetStream");
            netStreamObj = new NetStream(nc);
            metaListener = new Object();
            metaListener.onMetaData = received_Meta;
            netStreamObj.client = metaListener;

            netStreamObj.play(videoURL);
            vid.attachNetStream(netStreamObj);
            addChild(vid);
        }
    }

当我玩我的系统上它工作正常,但是当我创造它的IOS应用程序并安装在设备上,它显示白色空白屏幕。

如果任何人有同样的问题,或任何想法,请与我分享。

Answer 1:

作为VC.One指出,AIR为iOS不播放大多数(但不是全部,它偶尔会起到一个非常具体的编码类型),H.264编码的视频。 有三种解决方案:

  1. 作为VC.One说,你编码为FLV。 这样做是不好的,我不会推荐它。 FLV是不是硬件加速(除非事情最近有所改动,我还没有看到更新),并且将完全流失的CPU意味着你的应用程序将运行缓慢和应用程序会吃电池比正常情况要快得多。
  2. 使用StageWebView ,在这种情况下,你只需插上URL的视频,它会使用本地视频播放器播放视频。 这有不利的一面在于你不能清贫,他的球员,你无法控制它。 一旦开始播放,你除了卸载页面没有对其进行控制。 这工作得很好,然而,是相当容易实现,虽然视频将出现在舞台上的顶部(这是不是Display List )。
  3. 最后一个选项是使用StageVideo 。 这将播放使用本地框架的视频,让您可以轻松播放H.264,这将是硬件加速。 此外,这只是一个NetStream球员,所以你必须在它的完全控制。 而最重要的是,它没有镀铬,所以你可以建立视频屏幕上的球员。 然而,像StageWebView中,使用的StageVideo 不在 Display List 。 但是,与StageWebView中,它直接呈现在舞台上, 下面的一切。 因此,应用程序本身将涵盖视频。 您可以通过创建一个类来掩盖周围的视频你的应用程序解决这个问题,但它是非常困难的适当拉断。 我花了大约12个小时到在与屏蔽类固定问题后创建我的StageVideo播放器和屏蔽类,加上又是半天以及如何处理DPI改变(提示:不要设置applicationDPI如果你正在使用Flex)

与往常一样,请确保您的AIR SDK是最新的为好。 3.5-3.7都添加了许多新功能和错误修复iOS的应用程序,以便更新到AIR 3.7实际上可能解决或提出问题,您的问题少(我不认为这会,但它始终是值得一试,对?)



Answer 2:

请参阅此链接:

NetStream视频不是在玩iPad上

基本上,它是固定的通过编码视频文件作为FLV MP4没有。



文章来源: NetStream http Video not playing on IOS device