我正在努力寻找有关各种CDN使用的FCSubscribe
方法的任何信息。我需要在自定义视频播放器中实现这些方法。
我想要这些方法的官方规范,但即使SO搜索“FCSubscribe”也只产生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
回调,我是否应该实现这个?为什么?
答案 0 :(得分:0)
对于那些希望添加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);
}