Loads a bank asynchronously (from in-memory data, out-of-place).
NOTE: Banks loaded from in-memory with out-of-place data must be unloaded using the standard UnloadBank function (with no memory pointer). Make sure you are using the correct UnloadBank(...) overload
Use this overload when you want to manage I/O on your side. Load the bank file in a buffer and pass its address to the sound engine, the media section of the bank will be copied into the specified memory pool.
In-memory loading is out-of-place: the buffer can be released after the callback function is called. The advantage of using this over the in-place version is that there is no duplication of bank structures. A bank load request will be posted to the Bank Manager consumer thread. The function returns immediately.
- AK_Success if the scheduling was successful, AK_Fail otherwise, or AK_InvalidParameter if memory alignment is not correct. Use a callback to be notified when completed, and get the status of the request. The bank ID, which is obtained by hashing the bank name (see GetIDFromString()). You may use this ID with UnloadBank().
||Pointer to the in-memory bank to load (pointer is not stored in sound engine, memory can be released after callback)
||Size of the in-memory bank to load
||Memory pool to copy the media section of the bank to (the pool is created if AK_DEFAULT_POOL_ID is passed).
||Returned bank ID