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