netstream没有在adobeair上工作-亚马逊s3签约cloudfront



我似乎无法让netstream在我的adobeair应用程序上工作。Android或台式机。

这是带有有效链接的代码。该链接在VLC上工作。

有什么建议吗?

   public function Main() {
        url = "rtmp://s1p2w2yhnipjkt.cloudfront.net/cfx/st/mp4:demo.mp4?Expires=1594281188&Signature=AW0M39xRqX5bjhlw4EPMvdPzum8~gbK6Wsl7vkI3av6cWDXQ36lCfTlnpOXse6qiP9RSbuT-jhor84DHvZg7yPmvnnlPgAEQlndtgsBvzwUj~kGXES~~VWvHGVuUHTDnK~rAWcOmzpbRi-jWPpN71Ks2wnJeri596lqh2dOkUcg_&Key-Pair-Id=APKAI7XWAS4L22TVE3HA";
    _netConnection = new NetConnection();
    _netConnection.addEventListener(NetStatusEvent.NET_STATUS, onConnect);
    _netConnection.client = {onBWDone:onNetConnectionBWDone};

    _netConnection.connect(url);
    _netConnection.connect("rtmp://s1p2w2yhnipjkt.cloudfront.net/cfx/st");
    trace("connect")

}
private function onConnect(event:NetStatusEvent):void {
    trace(event.info.code);
    if(event.info.code == "NetConnection.Connect.Success")
    {
        _netStream = new NetStream(_netConnection);
        _netStream.client = {onMetaData:onMetaData, onPlayStatus :onPlayStatus};
        var video:Video = new Video();
        video.attachNetStream(_netStream)
        _netStream.play("mp4:demo.mp4");
        addChild(video);
    }
}

我在我的android设备中测试了你的流,它运行良好,我认为你忘记在流中使用params,所以你可以这样做:

var url:String = 'rtmp://s1p2w2yhnipjkt.cloudfront.net/cfx/st',
            // or rtmp://s1p2w2yhnipjkt.cloudfront.net:80/cfx/st
    stream:String = 'mp4:demo.mp4?Expires=1594281188&Signature=AW0M39xRqX5bjhlw4EPMvdPzum8~gbK6Wsl7vkI3av6cWDXQ36lCfTlnpOXse6qiP9RSbuT-jhor84DHvZg7yPmvnnlPgAEQlndtgsBvzwUj~kGXES~~VWvHGVuUHTDnK~rAWcOmzpbRi-jWPpN71Ks2wnJeri596lqh2dOkUcg_&Key-Pair-Id=APKAI7XWAS4L22TVE3HA';
// ...
_netConnection.connect(url);
// ...
_netStream.play(stream);

当然,你必须向你的应用程序添加INTERNET权限才能获得流,还必须确保你的设备可以通过1935或80端口连接到视频服务器(最坏的情况下(。

希望这能有所帮助。

相关内容

  • 没有找到相关文章

最新更新