Size: a a a

Android NDK (C++) — русскоговорящее сообщество

2018 October 03

AP

Andrey Panchenko in Android NDK (C++) — русскоговорящее сообщество
Если говорить конкретно про этот код, то я не очень понимаю что тут происходит и конкретно сказать не могу. Приходят звуковые PCM данные и потом зачем-то конвертируются в строку? 🤔
источник

S

Sergey in Android NDK (C++) — русскоговорящее сообщество
Andrey Panchenko
Если говорить конкретно про этот код, то я не очень понимаю что тут происходит и конкретно сказать не могу. Приходят звуковые PCM данные и потом зачем-то конвертируются в строку? 🤔
да. всё так. мне либа должна вернуть строку из pcm
источник

S

Sergey in Android NDK (C++) — русскоговорящее сообщество
Andrey Panchenko
Если говорить конкретно про этот код, то я не очень понимаю что тут происходит и конкретно сказать не могу. Приходят звуковые PCM данные и потом зачем-то конвертируются в строку? 🤔
это C++ либа я её партирую на android
источник

S

Sergey in Android NDK (C++) — русскоговорящее сообщество
источник

AP

Andrey Panchenko in Android NDK (C++) — русскоговорящее сообщество
хитро
источник

S

Sergey in Android NDK (C++) — русскоговорящее сообщество
я её на вход массив float-ов , а она мне строку
источник

S

Sergey in Android NDK (C++) — русскоговорящее сообщество
либа возвращает строку. всё норм . но вот (как я понимаю ) в jni всё падает при вызове env->NewStringUTF( code);
code - это строка, которую возвращает c++ либа
источник

AP

Andrey Panchenko in Android NDK (C++) — русскоговорящее сообщество
Вот этот code надо преобразовать либо в Modified UTF-8, либо в Unicode (и использовать NewString)
источник

AP

Andrey Panchenko in Android NDK (C++) — русскоговорящее сообщество
Pavel Vasiliev
Я одно время тоже столкнулся с аналогичной проблемой с кривыми utf8 строками. В итоге переделал код - декодировал строку на джава слое, передавал в нейтив, потом возвращал в джава слой некодированную строку в виде массива байт и вызывал new String(bytes, UTF-8)
Либо как-то так
источник

S

Sergey in Android NDK (C++) — русскоговорящее сообщество
как тип const char* привести к const jchar* unicodeChars на c++ ?
источник

AP

Andrey Panchenko in Android NDK (C++) — русскоговорящее сообщество
сначала  const char* перекодировать из UTF-8 в Unicode, потом на полученную строку вызвать env->NewString
источник

AP

Andrey Panchenko in Android NDK (C++) — русскоговорящее сообщество
Но это не единственное правильное решение, для твоей задачи может быть будет удобнее сделать как сказал Павел или как делает гугель.
источник

S

Sergey in Android NDK (C++) — русскоговорящее сообщество
не подскажешь какие исходники для <icu/unicode/unistr.h>
нужны чтоб в ndk скомпилить можно было. На оф.сайте что-то глаза разбегаются:
Release, ICU4C, ICU4J

смотрю тут : http://site.icu-project.org/download
источник

AP

Andrey Panchenko in Android NDK (C++) — русскоговорящее сообщество
ICU4C, но подумай ещё раз точно ли тебе нужен этот вариант. :) тебе же ещё придётся собрать всё это. плюс оно на сколько-то увеличит размер бинарника.
источник

S

Sergey in Android NDK (C++) — русскоговорящее сообщество
Andrey Panchenko
ICU4C, но подумай ещё раз точно ли тебе нужен этот вариант. :) тебе же ещё придётся собрать всё это. плюс оно на сколько-то увеличит размер бинарника.
как в Jave будет выглядеть тип   const char *code.
Хочу его вернуть . У меня есть метод:
native String codegen(float data[], int numSamples);
меняю на
native char codegen(float data[], int numSamples); - ругается
источник

AP

Andrey Panchenko in Android NDK (C++) — русскоговорящее сообщество
верни его как byte[]
источник

☠🇷

☠️ hex 🇷🇺🐍 in Android NDK (C++) — русскоговорящее сообщество
Sergey
как в Jave будет выглядеть тип   const char *code.
Хочу его вернуть . У меня есть метод:
native String codegen(float data[], int numSamples);
меняю на
native char codegen(float data[], int numSamples); - ругается
массив чаров?
источник

S

Sergey in Android NDK (C++) — русскоговорящее сообщество
☠️ hex 🇷🇺🐍
массив чаров?
как из const char *code получить массив чаров или байтов. грёбанный c++....(
источник

S

Sergey in Android NDK (C++) — русскоговорящее сообщество
чтоб его в джаву вернуть
источник

☠🇷

☠️ hex 🇷🇺🐍 in Android NDK (C++) — русскоговорящее сообщество
ну массив чаров же char[]
источник