gpt4 book ai didi

android - android教程中的FFMpeg命令

转载 作者:行者123 更新时间:2023-12-04 23:30:05 25 4
gpt4 key购买 nike

我想写一个连接两个视频的安卓应用

我尝试了以下代码

    InputStream in=null;
OutputStream os=null;
String appFileDirectory = getFilesDir().getPath();
final String executableFilePath = appFileDirectory + "/ffmpeg";
final String input ="concat:/mnt/sdcard/input1.mpg|/mnt/sdcrad/input2.mpg";
File executable=new File(executableFilePath);
try {
in = getAssets().open("ffmpeg");
os = new FileOutputStream(executable);
int read = 0;
byte[] bytes = new byte[1024];

while ((read = in.read(bytes)) != -1) {
os.write(bytes, 0, read);
}


} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (os != null) {
try {
// outputStream.flush();
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
executable.setExecutable(true);
Button b = (Button)findViewById(R.id.button);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
try {
Process p = Runtime.getRuntime().exec(executableFilePath + "-i \""+ input + "\" -c copy /mnt/sdcrd/output.mpg");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});

}

此代码没有给出任何错误或没有崩溃,但是当我单击按钮时没有任何 react 。我创建了与 android 兼容的 ffmpeg 版本。那么任何人都可以帮助我如何从android java代码运行命令。

最佳答案

添加一些日志以检查是否创建了 ffmpeg 文件,是否获得可执行权限,是否存在/mnt/sdcard 输入文件,您的应用程序是否具有读写外部存储的权限。

一个明显的错误是输入不存在 sdcrad 并且输出尝试转到不存在的 sdcrd ,但这些可能是复制/粘贴到 SO 的问题。

顺便说一句,您可以轻松避免从 Assets 中解压缩可执行文件的麻烦,请参阅我的回答 How to package native commandline application in apk?

关于android - android教程中的FFMpeg命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19313028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com