包 | mx.core |
类 | public class ByteArrayAsset |
继承 | ByteArrayAsset ByteArray Object |
实现 | IFlexAsset |
可以嵌入任何类型的文件中的字节数据,并且将始终嵌入整个文件。虽然可以嵌入整个 SWF 文件,但无法嵌入 SWF 文件中特定资源的字节。
MXML 编译器自动生成扩展 ByteArrayAsset 的类,以表示嵌入的数据。
要随意嵌入一个文件,应声明一个类型为 Class 的变量,并使用 MIME 类型 application/octet-stream
为其指定 [Embed]
元数据。例如,您可以通过以下方式嵌入文本文件:
[Bindable] [Embed(source="Story.txt", mimeType="application/octet-stream")] private var storyClass:Class;
编译器自动生成 ByteArrayAsset 类的子类,并将您的变量设置为对此自动生成的类的引用。然后,您可以使用此类引用使用 new
运算符创建 ByteArrayAsset 实例,并且您还可以使用 ByteArray 类的方法从字节数组中提取信息:
var storyByteArray:ByteArrayAsset = ByteArrayAsset(new storyClass()); var story:String = storyByteArray.readUTFBytes(storyByteArray.length);
您必须指定嵌入的 MIME 类型为 application/octet-stream
,以便按“原有”格式嵌入字节数据,而无需进行解析。它还使自动生成的类扩展 ByteArrayAsset,而不是扩展其它资源类。
例如,如果您嵌入 PNG 文件时没有指定此 MIME 类型,则 PNG 数据将自动转码为播放器使用的位图格式,并自动生成 BitmapAsset 子类来代表它。但是,如果您将 MIME 类型指定为 application/octet-stream
,则将不会转码,并且将按原有格式嵌入 PNG 数据,自动生成的类将扩展 ByteArrayAsset。
方法 | 定义方 | ||
---|---|---|---|
构造函数。 | ByteArrayAsset | ||
清除字节数组的内容,并将 length 和 position 属性重置为 0。 | ByteArray | ||
压缩字节数组。 | ByteArray | ||
使用 deflate 压缩算法压缩字节数组。 | ByteArray | ||
指示对象是否已经定义了指定的属性。 | Object | ||
使用 deflate 压缩算法将字节数组解压缩。 | ByteArray | ||
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
指示指定的属性是否存在、是否可枚举。 | Object | ||
从字节流中读取布尔值。 | ByteArray | ||
从字节流中读取带符号的字节。 | ByteArray | ||
从字节流中读取 length 参数指定的数据字节数。 | ByteArray | ||
从字节流中读取一个 IEEE 754 双精度(64 位)浮点数。 | ByteArray | ||
从字节流中读取一个 IEEE 754 单精度(32 位)浮点数。 | ByteArray | ||
从字节流中读取一个带符号的 32 位整数。 | ByteArray | ||
使用指定的字符集从字节流中读取指定长度的多字节字符串。 | ByteArray | ||
readObject():* 从字节数组中读取一个以 AMF 序列化格式进行编码的对象。 | ByteArray | ||
从字节流中读取一个带符号的 16 位整数。 | ByteArray | ||
从字节流中读取无符号的字节。 | ByteArray | ||
从字节流中读取一个无符号的 32 位整数。 | ByteArray | ||
从字节流中读取一个无符号的 16 位整数。 | ByteArray | ||
从字节流中读取一个 UTF-8 字符串。 | ByteArray | ||
从字节流中读取一个由 length 参数指定的 UTF-8 字节序列,并返回一个字符串。 | ByteArray | ||
设置循环操作动态属性的可用性。 | Object | ||
将字节数组转换为字符串。 | ByteArray | ||
解压缩字节数组。 | ByteArray | ||
返回指定对象的原始值。 | Object | ||
写入布尔值。 | ByteArray | ||
在字节流中写入一个字节。 | ByteArray | ||
将指定字节数组 bytes(起始偏移量为 bytes,从 0 开始的索引)中包含 length 个字节的字节序列写入字节流。 | ByteArray | ||
在字节流中写入一个 IEEE 754 双精度(64 位)浮点数。 | ByteArray | ||
在字节流中写入一个 IEEE 754 单精度(32 位)浮点数。 | ByteArray | ||
在字节流中写入一个带符号的 32 位整数。 | ByteArray | ||
使用指定的字符集将多字节字符串写入字节流。 | ByteArray | ||
将对象以 AMF 序列化格式写入字节数组。 | ByteArray | ||
在字节流中写入一个 16 位整数。 | ByteArray | ||
在字节流中写入一个无符号的 32 位整数。 | ByteArray | ||
将 UTF-8 字符串写入字节流。 | ByteArray | ||
将 UTF-8 字符串写入字节流。 | ByteArray |
ByteArrayAsset | () | 构造函数 |
public function ByteArrayAsset()
构造函数。