2012-01-16 17 views
4

私はandroid ndkでffmpegを実行していますが、ここでサンプルを実行できます。[https://github.com/ccggaass/android-ffmpeg-sample]NDKの動画ファイル(assetsフォルダにあります)を読み込む方法は?

私はアンドロイドの資産フォルダに動画を入れたいので、どのようにffmpegのAPIにこのファイルを渡すために:

av_open_input_file(& pFormatCtx、"ファイル:/sdcard/vid.3gp"、 NULL、0、NULL);

誰にでもav libにファイルを渡す方法は知っていますか?

答えて

-1

多分これは

file:///android_asset/vid.3gp

+0

試しても動作しません。同じことに感謝します。 – user1059217

1

使用この動作します:

String path = "/sdcard/vid.3gp"; 
av_open_input_file(&pFormatCtx, "file:/sdcard/vid.3gp", NULL, 0, NULL); 
1

APKが構築されたときに資産を圧縮することが文句を言わないことを確認します。 (したがって、ファイル記述子にアクセスできます) Ffmpegがパイププロトコルのサポートで構築されていることを確認してください。 AAsset_managerからアセットファイルディスクリプタを取得します。 このようにファイル名を作成します。

char fn [32]; sprintf(fn、 "pipe://%d"、your_assets_fd);

このように開くと... av_open_input_file(x、fn、...);

Good Luck。

P.S./sdcard /パスをハードコードしないでください。

+0

AAsset_managerから@Mar your_assets_fd?それはgetAssets()から可能ですか?openFd( "video.mp4")。getFileDescriptor()? – crossle

関連する問題