在linux(UNIX)主机里,通常文件名为中文的文件将不能被访问到,或者出现一个文件名为乱码的文件,但是我们依然不能下载来使用.
当然修改过编码的是没有问题的.
问题原因
国内的windows系统通常都是GBK编码,linux系统通常都是Unicode.
从windows(文件名为GBK编码)传送文件到linux(文件名为Unicode编码)主机,linux主机将GBK编码的文件名当做Unicode处理了,这样就产生了乱码.
当我们通过url访问这个文件的时候,url是Unicode编码的,与GBK编码的文件名不匹配,所以就找不到文件了.
阅读全文...
都说C/C++的类型转换个很头疼的问题。我说AS3的类型转换也简单不了多少(后者相比前者肯定简单些,呵呵)。
何为类型转换
当操作数的类型不同时,需要将一种类型转换为另一种类型,这就是类型转换。
类型转换分为显示类型转换和隐式类型转换两种。
阅读全文...
很多时候我们只有一个网线,没有无线路由,却又有多个支持wifi的终端(笔记本,iphone,ipad,支持wifi的手机等).我们迫切需要这些终端都能够连接网络.
如果你使用的是Win7系统并且有无线网卡的笔记本,那么就我们就可以将这台笔记本变身为无线热点,然后让其他终端通过它来上网了.
阅读全文...
排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。
AS3中的Array.sort就是实现排序的工具,它有多种用法,不过使用自定义排序函数时需要注意。 为了更容易的理解下面问题,先弄明白一个排序算法相关的概念:稳定性。
稳定排序:假设在待排序的元素中,存在两个或两个以上的记录具有相同的关键字(或值),在用某种排序法排序后,若这些相同关键字(或值)的元素的相对次序仍然不变,则这种排序方法是稳定的。 而我们下面的代码跟稳定性无关的,因为不存在相同的元素。
阅读全文...
博客好久没更新了,这几天发现一个flash player关于TextField不显示的bug,今天在这里记录下。哈哈。
此bug在flashplayer10.3及11版本,其他版本就没测试过了。
阅读全文...
众所周知Flashplaer的安全沙箱机制,将跨域并且没有授权的数据是放在安全沙箱(Security Sandbox)外,AS不能访问到。音频频谱属于数据类型,当然也不能访问。不过好在有绕过安全沙箱获取频谱的方法。具体方式请看动态播放速度的声音这篇的内容,这里已经能够获取到安全沙箱外的频谱了。
阅读全文...
要改变音频播放的速度,其实这个功能早在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 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吧.
阅读全文...
全局错误处理也叫全局异常处理,全局错误处理机制(GlobalErrorHandler)是在Flash Player 10.1添加的,它允许开发者在一个全局的地方处理所有flash里未能处理的错误.
全局错误处理机制能处理的错误:
- 同步错误:(异常)AS代码执行的错误,可以用try...catch处理,但未处理的错误.
- 异步错误:在Flash内部线程执行时的错误,比如没有侦听IEOrror事件等.
全局错误处理机制不能处理的错误:
- AVM1错误:AS3加载AS2的swf, 在AS2的swf里出发的错误.
- JS错误:HTMLLoader及Flex的html组件里html里的js触发的错误.
更多有关全局错误的文档请UncaughtErrorEvent.UncaughtErrorEvent.
下面看一个全局错误管理的Demo.
阅读全文...