我正在努力寻找有关 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
更重要的是,我发现这两个资源很有帮助:
您使用
onFCSubscribe
和 onFCUnsubscribe
打开和关闭 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/