3
File dir = new File("/mnt/sdcard");
Process process = Runtime.getRuntime().exec("ffmpeg -f image2 -i img%4d.png video.mp4", null, dir);

Androidでこの行を試すと、Androidで環境と作業ディレクトリのnullエラーが発生します。しかし、Javaでその行を試すと、完全に機能しましたが、Androidでは問題があります。

4

4 に答える 4

3
i get environment and working directory null

/mmt/sdcard代わりにを使用するようなパスがないため、nullを返します/mnt/sdcard

ここに画像の説明を入力してください

を使用するのが最適ですEnvironment.getExternalStorageDirectory()

于 2012-10-20T05:43:15.523 に答える
2

EmulatorまたはDeviceのいずれかにE:のようなドライブがないためです 。

このようにAndroidでPCのドライブにアクセスすることはできません。

編集 :

File dir = Environment.getExternalStoragePublicDirectory();
File f = new File(dir."Yourfilename.png");
于 2012-10-20T05:26:26.253 に答える
1

Androidのセキュリティでは、SDカードまたはUSBメモリから実行可能ファイルを起動することはできません。

実行可能ファイルは、アプリのfiles/ディレクトリまたはグローバルに書き込み可能な/data /local/ディレクトリにデプロイできます。忘れないでくださいchmod 777

usungの代わりにexec( "dir / cmd")exec("cmd", env, new File("dir"))を呼び出します

于 2012-10-20T13:15:47.993 に答える
0

AndroidにはおそらくEドライブがありませんが、実際には保証できます。Android には Linux オペレーティング システムがあり、同じドライブ命名規則を使用していません。また、プロセスを生成するコードを記述するときは常にProcessBuilderを使用することを検討します。コマンドラインオプションの解析が簡単になります。

于 2012-10-20T05:29:12.677 に答える