我正在扩展node-libspotify的libspotify包装器以支持专辑封面图像。到目前为止,我有以下工作的 c 绑定代码:
static Handle<Value> Album_Cover(const Arguments& args) {
HandleScope scope;
// test arguments sanity
assert(args.Length() == 2);
assert(args[0]->IsObject()); // sp_session
assert(args[1]->IsObject()); // sp_album
ObjectHandle<sp_session> *session = ObjectHandle<sp_session>::Unwrap(args[0]);
ObjectHandle<sp_album> *album = ObjectHandle<sp_album>::Unwrap(args[1]);
const byte *image_id = sp_album_cover(album->pointer, SP_IMAGE_SIZE_LARGE);
size_t image_size;
const void *image_data;
if(image_id) {
sp_image *image = sp_image_create(session->pointer, image_id);
image_data = sp_image_data(image, &image_size);
sp_image_release(image);
}
return scope.Close(image_data);
}
我在最后一行苦苦挣扎:运行时如何将原始图像数据传递给 node.js scope.Close(...)
?
感谢您的任何建议。