Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android上的用户ffmpeg_Android_Android Ndk_Ffmpeg - Fatal编程技术网

Android上的用户ffmpeg

Android上的用户ffmpeg,android,android-ndk,ffmpeg,Android,Android Ndk,Ffmpeg,基本上,我需要在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) 我已经在build.sh中更改了包名以适合我的包名。 构建之后,我从构建文件夹中获得了

基本上,我需要在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)

我已经在build.sh中更改了包名以适合我的包名。 构建之后,我从构建文件夹中获得了ffmpeg,其结构如下

ffmpeg

-armeabi
-armeabi-v7a
我已将ffmpeg文件夹复制到windows计算机中的project/jni文件夹中

创建了一个
native.c
文件以包含必要的lib。 制作
ndk构建
。得到了
.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

谁能给我指导一下这个过程吗?

我想你不需要任何
*。所以

您可能应该为Android编译
ffmpeg
二进制文件

然后将二进制文件放入
res/raw
文件夹

然后,在第一次执行时,您的程序应将其从
res/raw
复制到应用程序的dir,并在其上设置
chmod+x

然后,您可以使用
System.exec
等调用ffmpeg二进制文件


这对我很管用。我使用了这里的代码
https://github.com/halfninja/android-ffmpeg-x264
作为一个例子。

@Andy Developer我正试图在使用ubuntu的virtualBox的帮助下从我的windows操作系统构建ffmpeg。你能告诉我下载和构建它的步骤吗?我正试图用我的windows操作系统构建ffmpegvirtualBox使用ubuntu的帮助你能给我一些步骤吗?我应该下载哪些东西来构建它