Мне нужно изменить тональность и время растяжения звука. Для этого я использую предварительно собранную статическую библиотеку. В настоящее время у меня есть статическая библиотека libZtxAndroid.a и соответствующий заголовочный файл, который содержит объявление функции. Но я не знаю, как загрузить эту библиотеку в мое приложение для Android и вызвать нативную функцию из кода Java. Я исследовал много ссылок и попытался загрузить эту библиотеку. Но все попытки провалились. Это одна ссылка, которую я пробовал в прошлый раз https://tariqzubairy.wordpress.com/2012/03/12/use-of-prebuild-static-library-compiled-with-android-toolchain/
Также я использую общую библиотеку FFMPEG и MP4Parser (https://github.com/sannies/mp4parser) библиотека в этом приложении для добавления водяного знака к видео и слияния аудио соответственно. Может ли кто-нибудь помочь от основ.
Вам нужно сделать несколько вещей:
Если у вас есть что-то подобное в Android:
Java_com_example_hellojni_HelloJni_stringFromJNI (JNIEnv * env,
задание это)
где Java_comp_example_hellojni_HelloJni — это имя вашего проекта, вы должны сделать это с Java, предполагая, что имя вашей библиотеки libmylib.so:
public class HelloJni {
static {
System.LoadLibrary('mylib');
}
public native stringFromJni();
}
Обратите внимание, что собственное имя библиотеки не требует префикса lib и суффикса .so. Также обратите внимание, что вам не нужен заголовочный файл из C ++, вы просто загружаете библиотеку из Java и объявляете встроенную функцию. Библиотека должна быть уже скомпилирована и находиться в правильном каталоге, прежде чем ее будет использовать проект Java.
Будьте осторожны при загрузке: если вы используете совместно используемую версию стандартной библиотеки, вам также необходимо добавить ее в статический {раздел Java для загрузки, перед вашей библиотекой.
Других решений пока нет …