actionscript-3 - 在客户端实现 FCSubscribe

标签 actionscript-3 cdn netstream netconnection

我正在努力寻找有关 FCSubscribe 的任何信息各种 CDN 使用的方法。我需要在自定义视频播放器中实现这些方法。

我想要这些方法的官方规范,但即使是对“FCSubscribe”的 SO 搜索也只会产生 2 个结果。我设法在网上找到了一些代码碎片,但没有具体的。

在阅读了所有这些代码片段后,我设法构建了一个工作播放器,但由于缺乏任何文档,我不确定它的健壮性。

以下是到目前为止我的代码的基本大纲:

public function connectCDN() :void
{
    netConnection.client = {
        onFCSubscribe : onFCSubscribe
    };

    netConnection.call('FCSubscribe', null, streamName);

    netStream.play(streamName);
}

public function onFCSubscribe(...args) :void
{
    //Don't know what to do here???
}

真的没什么。

我的具体担忧是:
  • 我应该开始播放NetStream直接调用FCSubscribe ,还是我应该等待回调?
  • 我已经实现了 onFCSubscribe回调,但我不知道我应该在这里做什么。 Args 包含类似 info.code 的结构(类似于 NetStatusEvent )。
  • 在我见过的其他实现中 onFCUnsubscribe回调,我也应该实现这个吗?做什么的?
  • 最佳答案

    对于那些希望添加 onFCSubscribe 的人支持,这里有几个链接对我有帮助。

    首先,确保您的 rtmp通过在此处检查来播放流:http://support.akamai.com/flash/index.html?autostart=true&url=rtmp://REPLACE-WITH-YOUR-RTMP-STREAM-URL
    更重要的是,我发现这两个资源很有帮助:

  • Hacking FCSubscribe Support Around OSMF
  • Internap FCSubscribe example

  • 您使用 onFCSubscribeonFCUnsubscribe打开和关闭 netStream
    public var hostName:String = "rtmp://client.flash.internapcdn.net/client/live_1";
    public var streamName:String = "thestream";
    public var netConnection:NetConnection;
    public var netStream:NetStream;
    public var video:Video;
    
    public function BasicLiveVideo()
    {
        video = new Video();
        this.addChild(video);
        netConnection = new NetConnection();
        netConnection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
        var rtnClient:Object = new Object();
    
        rtnClient.onFCSubscribe = function (info:Object){
            netStream.play(streamName);
            video.attachNetStream(netStream);
        }
    
        rtnClient.onFCUnsubscribe = function (info:Object){
            netStream.close();
        }
    
        netConnection.client = rtnClient;
        netConnection.connect(hostName);
    }
    

    关于actionscript-3 - 在客户端实现 FCSubscribe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16980799/

    相关文章:

    html - 我如何将 AS3 转换为 Haxe?

    flash - Netstream.seek() 不适用于 Flash 中的 MP4 视频

    actionscript-3 - AS3 : Is it possible to capture stage elements or bitmap data into a netstream?

    caching - 如何设置cdn?

    javascript - 当 CDN 关闭时加载 jQuery 的备份副本

    actionscript - red5直播总是掉帧

    string - 如何将其转换为正确的字符串?

    flash - 如何在AS3中修改运动跟踪

    actionscript-3 - 开关语句和数字范围

    jquery - 用于加载 jquery.unobtrusive-ajax.js 的 asp-fallback-test