民浩

 

解决BitmapData.draw()在fms流的跨域问题

因为flash的跨域问题, 会导致BitmapData.draw() 方法在对有跨域加载的视频流, 图片等资源时抛出SecurityError异常导致无法正常抓图
解决方式在帮助文档也有说, 总结一下:
1.图片跨域
  在被加载图片域放置crossdomain.xml
  load(new URLRequest(path), new LoaderContext(true));

2.点播流(http视频流)
  在被加载视频域放置crossdomain.xml
  设置netStream.checkPolicyFile = true;

3.实时流跨域
  这个要在FlashPlayer 9.0.115.0才有效
  方法来源于:
   http://www.ekameleon.net/blog/index.php?2008/02/20/93--fmis3-bitmapdatadraw-and-flash-player-901150-security-sandbox-violation
   我只做了fms3下的测试通过.
  简单点说就是在fms应用的main.asc 中加上
 application.onConnect = function( client )
 {
     // fix Security sandbox violation : BitmapData.draw on RTMP source
     client.videoSampleAccess = "/";

     this.acceptConnection(client) ;
 }

posted on   民浩  阅读(357)  评论(1编辑  收藏  举报

编辑推荐:
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
阅读排行:
· “你见过凌晨四点的洛杉矶吗?”--《我们为什么要睡觉》
· 编程神器Trae:当我用上后,才知道自己的创造力被低估了多少
· C# 从零开始使用Layui.Wpf库开发WPF客户端
· C#/.NET/.NET Core技术前沿周刊 | 第 31 期(2025年3.17-3.23)
· 接口重试的7种常用方案!

导航

统计

点击右上角即可分享
微信分享提示