Asset Bundle怎么将里面的某个文件加载为arraybuffer形式

我这边有一些文件放在bundle里,但加载出来时text形式的,不是arraybuffer形式,求助大佬帮忙?

可以根据资源的url加载
assetManager.loadAny({ url: url, ext: ‘.bin’ }, (err, data) => {});
这样加载出来的是ArrayBuffer

2赞

我这个文件是放在这个bundle里的,这url我怎么写都报找不到文件的错误,求指点

private getWebAssemblyUrl(assemblyName: string): string {
        let info = resources.config.getInfoWithPath(assemblyName);
        let uuid = info.uuid;
        let url = assetManager.utils.getUrlWithUuid(uuid, { nativeExt: '.wasm', isNative: true });
        return url;
}

可以按照这个方法改改

1赞
bundle.load(file: string, (err, data: cc.Asset) => {
    if (err) {
        console.error("readFromBinaryFile file:" + file + "error:" + err);
    }
    cc.assetManager.loadAny({url: data.nativeUrl, type: "binary"}, (err, file: Uint8Array) => {
        if (err) {
            console.error("readFromBinaryFile Error: " + data.nativeUrl + err.message);
        }
        try {
            let byteArray = new Uint8Array(file);

            //TODO:
        } catch (e) {
            throw new Error(e);
        }
    });
})

2赞

像这样就行了
const nativeUrl:any = Res.bundle.get(‘ani/idle’).nativeUrl;
cc.assetManager.loadAny({url: nativeUrl, ext: ‘.bin’}, (err, file) => {
console.log(file);
});

1赞

解决了,非常感谢

解决了,非常感谢帮忙

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。