AS3动态创建Vector

2012年5月18日 12 条评论

很久没有写博客了,已经近乎荒废的程度了.不过从现在起还是要坚持写博客了,很多东西做了测试,没有记录下来,很容易就能忘记的.忘记在哪里看到有人说想动态创建Vector只是苦于语法上不允许,不过还是能够绕开语法检查的
阅读全文...

IconUtility对TabNavigator设置icon时失效的问题解决

2012年4月12日 13 条评论

IconUtility用于方便的在flex源文件mxml里设置组件的icon为网络图标,而非Class类,但对于TabNavigator却不管用.经过仔细研究,终于还是修复了这个bug.
阅读全文...

Graphics.copyFrom 复制显示对象

2011年12月5日 2 条评论

Graphics.copyFrom 这个API是从flash player10开始有的,以前我们要复制一个显示对象,那是不可以的,当然你可以说用 BitmapData.draw 这个方法,但是原本是矢量对象,被draw之后就变成了位图.这样不是很好的.flashplayer10刚出来的时候有关注过一些新特性,但是对这个没有这么在意.
阅读全文...

Java静态变量初始化顺序浅谈

2011年11月13日 3 条评论

Java 类初始化顺序在网上已经有很多文章了,这里不再谈那么多,仅仅谈下Java静态变量的初始化顺序,如果你是Java高手,并且自认为对这个顺序已经掌握到了炉火纯青的境界,请忽视这篇文章.
前天看了Y.BOY对AS程序员的《关于初始化静态变量的一些思考》,让我感觉这个东西很奇妙,他的问题也是从JAVA来的.然后我就做了些测试,发现与我想的很不一样.而且Java与AS的也不一样.今天就先将关于Java的记录下来.等日后再将AS的也记录下来。
阅读全文...

Sound.loadCompressedDataFromByteArray

2011年10月23日 4 条评论

前不久Adobe发布了Flash Player 11的release版本, Flash Player 11 带来了很多新特性, 最最红火的就是Stage3D了,但是这里讲的是这个版本的另一个新特性, 直接播放MP3数据 Sound.loadCompressedDataFromByteArray.
以往我们要播放一个mp3,必须要有一个路径才能播放, 每次想要将声音文件缓存起来,就不方便.现在Flash 提供了直接播放bytearray的API,那么就方便多了。
阅读全文...

Array.sort(customSortFunction:Function)隐藏的陷阱

2011年7月10日 6 条评论

排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。
AS3中的Array.sort就是实现排序的工具,它有多种用法,不过使用自定义排序函数时需要注意。 为了更容易的理解下面问题,先弄明白一个排序算法相关的概念:稳定性。
稳定排序:假设在待排序的元素中,存在两个或两个以上的记录具有相同的关键字(或值),在用某种排序法排序后,若这些相同关键字(或值)的元素的相对次序仍然不变,则这种排序方法是稳定的。 而我们下面的代码跟稳定性无关的,因为不存在相同的元素。
阅读全文...

flash player bug – 3D旋转后文本内容不显示

2011年6月23日 3 条评论

博客好久没更新了,这几天发现一个flash player关于TextField不显示的bug,今天在这里记录下。哈哈。
此bug在flashplayer10.3及11版本,其他版本就没测试过了。
阅读全文...

绕过安全沙箱获取音频频谱

2011年5月1日 2 条评论

众所周知Flashplaer的安全沙箱机制,将跨域并且没有授权的数据是放在安全沙箱(Security Sandbox)外,AS不能访问到。音频频谱属于数据类型,当然也不能访问。不过好在有绕过安全沙箱获取频谱的方法。具体方式请看动态播放速度的声音这篇的内容,这里已经能够获取到安全沙箱外的频谱了。
阅读全文...

变速音频播放

2011年4月29日 没有评论

要改变音频播放的速度,其实这个功能早在FlashPlayer10就已经能够实现了。主要涉及的API为:

Sound.extract(target:ByteArray, length:Number, startPosition:Number = -1):Number

target:用于放置提取的声音样本的ByteArray 对象。
length:要提取的声音样本数。样本包含左声道和右声道,即 2 个 32 位浮点值。
startPosition: 要提取的声音的开始位置. (默认为-1,标示按顺序提取)
return : 提取的声音样本个数。(1样本==2Float==8byte).

阅读全文...

Stage Video flash在视频播放方面的GPU加速

2011年4月28日 2 条评论

Stage Video是在flash player 10.2和AIR 2.5的时候添加的一个可以利用GPU加速来播放视频的一个增强Video的功能. Stage Video 与 Video对比:

API VideoStatus.ACCELERATED VideoStatus.SOFTWARE
Stage Video 最优的情况,使用GPU解码并合成 使用软件解码,用GPU合成
Video 使用硬件GPU解码,软件合成 最差的情况,使用软件解码并合成

StageVideo的限制:

  • StageVideo对象不能被旋转。 只可能做到正交旋转(以90度的增量旋转)。
  • StageVideo对象可能不能适用colorTransform或3D转换变形。 它没有一个适用的矩阵变换功能来对视频进行倾斜处理。
  • StageVideo对象无法适用alpha 通道、混合模式、滤光器、蒙版或者scale9Grid这些功能。
  • 其视频数据不能被复制到BitmapData对象(BitmapData.draw)中。
  • 视频不能以位图格式缓存。
  • 视频数据不能嵌入在SWF文件中。 StageVideo只能应用于源自NetStream对象的影片。
  • 依赖于底层硬件设备,一些色彩空间可能不被支持。 在这种情况下,Flash Player将选择一个替代的色彩空间。 新的StageVideo ActionScript API提供了一种方式用来查询正在使用的色彩空间。
  • 依赖于平台,在视频平面中允许显示的视频数量是有限的。 在大多数移动系统中,在全局范围任何时间内只允许播放一个视频。 这意味着,如果您有几个SWF文件的实例同时显示的话,只有第一个SWF文件能以硬件加速的方式显示。
  • 为了保证台式电脑和TV设备中Flash Player的一致性,请将wmode设置为direct。
  • 请避免让wmode="transparent"的SWF文件彼此相互层叠。 某些平台不支持wmode="transparent"模式,如Google TV。 这意味着当wmode ="window"时,无论<embed> 标签参数是何值,所有的SWF实例都能被平台支持。

还是老样子看个Demo吧.

阅读全文...

回到顶部