swkoubou / peppermill-test

swkペッパーミルプロジェクト テスト用
0 stars 0 forks source link

Convert3gptowav #167

Closed watayuz closed 8 years ago

watayuz commented 8 years ago

録音ファイルである3gpファイルをwavに変換できるようにクラスを作成しました

snakazawa commented 8 years ago

あれ、完全に見逃していたんですけど、ffmpegをそのままコマンド実行してるんですか。 普通はパス通ってない or install されていないと思います。

watayuz commented 8 years ago

compile 'com.writingminds:FFmpegAndroid:0.3.2' この1行を追加したら使えました

snakazawa commented 8 years ago

Microsoft WAVE soundfile format

4 ChunkID Contains the letters "RIFF" in ASCII form (0x52494646 big-endian form).

audiorecordtest_binary

3gpです。すくなくともwaveではありません。

watayuz commented 8 years ago

なるほど。わかりました。

snakazawa commented 8 years ago

FFmpegAndroidに関しては、この公式Sampleをある程度参考にするとよいと思います。 ffmpeg-android-java/Home.java at master · WritingMinds/ffmpeg-android-java

前準備を忘れないでください。Documentに"必要"だと書いてあります。 ffmpeg-android-java/Home.java at master · WritingMinds/ffmpeg-android-java

You just need to put this once in your code, whenever you are starting the application or using FFmpeg for the first time FFmpeg Android Java, Usage, Load Binary

watayuz commented 8 years ago

了解しました。参考にして書き直してみます

snakazawa commented 8 years ago

record_testディレクトリをmasterに合わせてもらえますか?

git fetch
git checkout origin/master record/
git commit -a -m "comment"

的な感じで。

snakazawa commented 8 years ago

Handlerの説明がうまく伝わっていなかったようです。 convertメソッドは非同期の処理を含むので、利用者はconvertを実行してから次の行でアウトプットファイルを読み込もうとしても成功しない場合があります。 非同期処理はHandlerを引数に取りエラーや終了時などにそれが持つメソッドを実行することで、利用者は意図したコードが書けます(ffmpegのloadやexecuteのように)。 通常これは専用のInterfaceを定義し、利用者はそれを使って匿名クラスなどでHandlerを作り渡しますが、これはちょっとJavaの知識がないと辛いので、 @uryoya 君のコードのようにRunnableを使うと簡単に書ける、ということを言いたかったです。 現状のコードだと利用者は終了時の処理が記述できないのでMergeできません。

snakazawa commented 8 years ago

164

snakazawa commented 8 years ago

よく確認してください。 これでexecuteでsuccess呼ばれたときにmainActivityで渡したコールバックが実行されますか?

mainActivityで渡すcallbackのrunで適当にLog出力して、意図した順番で出力されるか確認してからpushしてください。

watayuz commented 8 years ago

executeメソッドの終了時にMainActivityに処理を返したかったのでexecuteメソッドにもcallbackを追加しました。 確認をお願いします

snakazawa commented 8 years ago

ん、良さげ。 そしてやっぱり、笑ってしまうぐらいコールバックのネストやばいね :laughing: gitを使うときはほとんどの場合、要らないコードはコメントアウトじゃなくて削除で良いです。 その辺直してから実行確認できたら、一度現masterをpullしてコンフリクト解消してから再度pushしてください。

watayuz commented 8 years ago

pushしました。

snakazawa commented 8 years ago

いえ、全然消えてないですが。 <<<<<<< HEAD======= >>>>>>> 77e31f5ba2b220634ccd51798d5ca8732c9c0c2a はコンフリクト解消せずにそのままコミットした残骸ですよ。

watayuz commented 8 years ago

git pull --rebaseしたのですが、Current branch convert3gptowav is up to date.と出ます。

snakazawa commented 8 years ago

もう一度Mergeしてほしいという事ではなく、修正してほしいということです。 コンフリクトの残骸(上記の)が残ってると、実行できないですよね。

watayuz commented 8 years ago

pullしてもAlready up-to-date.と出てしまってコンフリクト箇所が見つからないのですが、何か理由はわかりますか?

snakazawa commented 8 years ago

それ以前のPullでコンフリクトを起こしたままcommitしてしまった、という事だと思います。 @watayuz 君じゃない誰かかもしれないです。 手動で直してもらえれば。

watayuz commented 8 years ago

混乱してきました。手動で治す場合にはどうすればいいのでしょうか

snakazawa commented 8 years ago

コンフリクトの残骸があるのはこのファイル: record_test/app/src/main/java/com/example/uryoya/record_test/MainActivity.java

diffがコード上に表示されてるのでそれを参考に、このコードをエディタで修正すればOK。

watayuz commented 8 years ago

pushしました。確認お願いします

snakazawa commented 8 years ago

同じファイルに他にもコンフリクトの残骸あります :angry:

watayuz commented 8 years ago

あ、すみません見逃してました

watayuz commented 8 years ago

pushしました。確認をお願いします

snakazawa commented 8 years ago

確認しました。OKです。お疲れ様です。

watayuz commented 8 years ago

ありがとうございます。