1. SDK加载
确认YunfanSDK的地址,你可以将SDK放在自己的服务器上,
如果要加载来自云帆服务器的YunfanSDK,请与云帆客服联系。
private var YUNFAN_SDK:String = "http://yourdomain/path/Yunfan.swf";
var req:URLRequest = new URLRequest(YUNFAN_SDK);
var context:LoaderContext = new LoaderContext(true,ApplicationDomain.currentDomain);
context.securityDomain = flash.system.SecurityDomain.currentDomain;
你可以尝试获取sdk版本号,来验证sdk是否加载成功。
2. SDK Token鉴权
3. 获取yunfanSDK版本号
4. Yunfan.swf 使用示例
YunfanStream视频启动入口:
参数名 | 类型 | 说明 |
---|---|---|
vUrl | String | 直播视频源地址 |
YunfanStream会以该vUrl为标准匹配不同的视频码流(同一个视频不同码率也是不同的视频码流),如果贵方同一个视频流的vUrl有多个,请及时告知云帆并说明视频url哪一部分是可以唯一标识该视频流的。
使用示例:
//接上面的加载说明,从Yunfan.swf中获取YunfanStream 类
var YunfanStream:Class;
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,function():void{
YunfanStream = loader.contentLoaderInfo.applicationDomain.getDefinition("YunfanStream") as Class; loader.contentLoaderInfo.removeEventListener(Event.COMPLETE,arguments.callee);
});
//加载到YunfanStream 类后,实例化等操作
var yunfan:NetStream = new YunfanStream(netConnection);
yunfan.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
yunfan.client = this;
yunfan.token(accessKey,tokenId) // 需在调用play前,传入申请后的accessKey和tokenId
yunfan.play(vUrl); //开始play,sdk自动启动鉴权,通过则正常播放,失败则派发失败状态事件
video.attachNetStream(yunfan);
stage.addChild(video);
private function netStatusHandler(e:NetStatusEvent):void{
switch (e.info.code) {
case "NetConnection.Connect.Success"://NetConnection连接成功
break;
case "NetStream.Play.StreamNotFound"://找不到视频流,请检查视频url或者网络
break;
case "NetStream.Play.Start"://视频启动播放。一次play()方法至多触发一次该事件。
break;
case "NetStream.Play.Stop"://视频停止播放。手动close不会触发该事件
break;
case "NetStream.Unpause.Notify"://暂停后恢复播放状态
break;
case "NetStream.Buffer.Full"://缓冲区已满,流开始播放
break;
case "NetStream.Pause.Notify"://暂停
break;
case "NetStream.Buffer.Empty":// 发起缓冲,因为接收数据的速度不足以填充缓冲区
break;
case "NetStream.Token.Success":// sdk鉴权通过,无需任何操作
break;
case "NetStream.Token.Failed":// sdk鉴权失败,请检查AccessKey和Token参数是否合法
break;
}
}
public function onMetaData(info:Object):void{
//从这里获取视频宽、高、时长、大小、关键帧等信息
}
5.YunfanStream自定义事件
视频服务器(包括CDN节点)不支持Range字段的HTTP分段请求。 value为对应服务器ip。
视频服务器(包括CDN节点)有异常错误。 value为对应服务器ip。
云帆加速CDN上找不到视频文件,当使用云帆加速CDN的时候请注意该事件。 当视频首次点播的时候,云帆CDN还没有cache到该视频,就找不到该文件,这时候会触发该事件,同时云帆CDN会去下载该视频。等下次点播,云帆CDN上有了该视频,就会从云帆CDN上下载视频。
云帆加速SDK Token鉴权失败。需检查传入的AccessKey和Token值,有问题可联系工作人员
技术支持:support@yfcloud.com