Собственный клиент Google, отправляющий двоичные данные со стороны NACL на внешний интерфейс Javascript

Как отправить двоичные данные, например, данные .mp3 / mp4 обратно на сторону Javascript внешнего интерфейса?

Я знаю, что есть два способа сделать это: использовать файловую систему песочницы, предоставленную NACL, и получить URL-адрес во внешнем интерфейсе; передавая данные через PostMessage() с помощью VarArrayBuffer, Было бы здорово, если бы кто-нибудь мог дать мне простой пример того, как передавать двоичные данные через PostMessage(), Есть пример Pong для NACl FileSystem API, но я немного запутался, как получить местоположение файла в виде URL, чтобы интерфейс js мог получить его через сообщение.

Вот что я сделал до сих пор, используя второй метод передачи данных через PostMessage() а также VarArrayBuffer:

  • Я успешно получил данные из онлайн-файла mp4 и сохранил их в векторном виде vector<char> outputBuffer,

  • Сброс данных в новый буфер символов и создание VarArrayBuffer держать данные и передавать их на сторону JS

    char* binaryBuffer = new char[outputBuffer.size()];
    int increment = 0;
    for (vector<char>::iterator it = outputBuffer.begin();
    it != outputBuffer.end(); it++) {
    binaryBuffer[increment] = *it;
    }
    
    pp::VarArrayBuffer outBuffer(binaryBuffer);
    instance_->PostMessage(outBuffer);//instance_ is a NACL module instance
    

Итак, как сторона JS должна перехватить буфер массива? Это через message.data или что-то другое? Благодарю.

8

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …