1# 全球化子系统ChangeLog
2
3## cl.resourceManager.1  资源获取rawfile文件描述符接口含义变更
4
5相较于之前的版本,在4.0.2.2 版本中,新增不解压特性,rawfile文件描述符接口返回值的含义发生了变化。接口用于返回获取的rawfile文件的descriptor:RawFileDescriptor {fd,offset, length},由于不解压特性变更,返回值没发生变化,但返回值的含义发生了变化, 变化如下:
6
7**新增不解压特性前**:
8
9fd: 访问rawfile文件的文件描述符;
10
11offset: 访问rawfile文件的偏移量,此时为0;
12
13length: 访问rawfile文件的大小。
14
15**新增不解压特性后**:
16
17fd: 访问rawfile文件所在hap的文件描述符;
18
19offset: 访问rawfile文件相对于hap的偏移量;
20
21length: 访问rawfile文件的大小。
22
23**变更影响**
24
25之前只通过fd可以访问到rawfile文件,在4.0.2.2 及以上版本需要通过{fd, offset, length}三个参数才能访问到。
26
27**关键接口/组件变更**
28
29| **涉及接口**                            |
30| ----------------                         |
31| getRawFd(path: string, callback: AsyncCallback\<RawFileDescriptor>): void   |
32| getRawFd(path: string): Promise\<RawFileDescriptor>  |
33| getRawFileDescriptor(path: string, callback: AsyncCallback\<RawFileDescriptor>): void|
34| getRawFileDescriptor(path: string): Promise\<RawFileDescriptor>|
35||
36
37**示例代码**
38
39以调用接口getRawFd为例:
40```
41try {
42    this.context.resourceManager.getRawFd("test.ogg", (error, value) => {
43        if (error != null) {
44            console.log(`callback getRawFd failed error code: ${error.code}, message: ${error.message}.`);
45        } else {
46            let fileDescriptor = {
47                fd = value.fd,
48                offset = value.offset,
49                length = value.length
50            }
51            this.avPlayer.fdSrc(fileDescriptor); // 以音频播放为例,调用fdSrc时需要传fileDescriptor,不能仅传fd。
52        }
53    });
54  } catch (error) {
55      console.error(`callback getRawFd failed, error code: ${error.code}, message: ${error.message}.`)
56  };
57```
58