基本上,我需要在 android 中合并(附加)音频文件。这是为录音机执行暂停/恢复功能所必需的。
我已经成功地在Android上编译了bambuser ffmpeg,如下所示。
1. Oracle Virtual Box
2. Ubuntu 12.04 x86
3. android-ndk r8
4. Archive for client versions 1.3.7 to 1.6.6
(来自 bambuser http://bambuser.com/opensource)
我已经更改了 build.sh 中的包名以适合我的包名。构建后,我从构建文件夹中获得了具有以下结构的 ffmpeg
ffmpeg
-armeabi
-armeabi-v7a
我已将 ffmpeg 文件夹复制到我的 windows 机器中的 project/jni 文件夹中。
创建了一个native.c
文件以包含必要的库。制作ndk-build
. 拿到.so
文件了 当我尝试在 android 活动中执行此操作时,
try {
System.loadLibrary("FFmpegTest");
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
File dir = new File("/mnt/sdcard");
Process p=Runtime.getRuntime().exec("ffmpeg -i test.wav test1.wav",null,dir);
try {
p.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
我收到以下错误。
05-31 11:57:53.532: D/dalvikvm(278): Trying to load lib /data/data/com.example.ffmpegtest/lib/libFFmpegTest.so 0x43e37a88
05-31 11:57:53.532: D/dalvikvm(278): Added shared lib /data/data/com.example.ffmpegtest/lib/libFFmpegTest.so 0x43e37a88
05-31 11:57:53.532: D/dalvikvm(278): No JNI_OnLoad found in /data/data/com.example.ffmpegtest/lib/libFFmpegTest.so 0x43e37a88, skipping init
05-31 11:57:53.562: W/System.err(278): java.io.IOException: Error running exec(). Command: [ffmpeg, -i, test.wav test1.wav] Working Directory: /mnt/sdcard Environment: null
任何人都可以指导我的程序吗?