Advertisement
Guest User

Untitled

a guest
Jul 21st, 2016
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.47 KB | None | 0 0
  1. private void mixAudio(){
  2. if(mVoiceFile == null || mBeatFile == null || mRapFile == null)
  3. return;
  4.  
  5. String [] command = new String []{
  6. "-ss",getConvertedValue(getSyncCalibration()),
  7. "-i", mVoiceFile.getAbsolutePath(),
  8. "-i", mBeatFile.getAbsolutePath(),
  9. "-filter_complex",
  10. "[0:a]volume="+ getConvertedValue(getVocalLevel()) +"[a1];[1:a]volume="+getConvertedValue(getBeatLevel())+"[a2];[a1][a2]amerge=inputs=2,pan=stereo|c0<c0+c2|c1<c1+c3[aout]",
  11. "-map",
  12. "[aout]",
  13. mRapFile.getAbsolutePath()};
  14.  
  15. System.out.println("Audio Call: " + Arrays.toString(command));
  16.  
  17. try {
  18. mFfmpeg.execute(command, new FFmpegExecuteResponseHandler() {
  19. @Override
  20. public void onSuccess(String message) {
  21. Log.d("Studio Status", message);
  22. mRecordButton.setIndeterminate(false);
  23. mRecordButton.showProgress(false);
  24. prepRapPreview();
  25.  
  26. }
  27.  
  28. @Override
  29. public void onProgress(String message) {
  30. Log.e("Studio Process", message);
  31. mRecordButton.setIndeterminate(true);
  32. }
  33.  
  34. @Override
  35. public void onFailure(String message) {
  36. Log.e(TAG, message);
  37. JSONObject eventProperties = new JSONObject();
  38. mProcessTimeEnd = System.currentTimeMillis();
  39. long mProcessDifference = mProcessTimeEnd - mProcessTimeStart;
  40. double mProcessTotalSeconds = mProcessDifference / 1000.0;
  41.  
  42. try {
  43. eventProperties.put("userId",mApp.getmUser().get_id() );
  44. eventProperties.put("username", mApp.getmUser().getUsername());
  45. eventProperties.put("Descripton", message);
  46. eventProperties.put("Total Duration in Seconds", mProcessTotalSeconds);
  47.  
  48.  
  49. } catch (JSONException exception) {
  50. }
  51. Amplitude.getInstance().logEvent("Mixing Rap Process - Failure", eventProperties);
  52.  
  53. }
  54.  
  55. @Override
  56. public void onStart() {
  57. mRecordButton.showProgress(true);
  58. mRecordButton.setIndeterminate(true);
  59. mProcessTimeStart = System.currentTimeMillis();
  60. showSnackBar("Mixing up your banger... ", 1);
  61. Log.d("Audio: ", "Mixing");
  62. Log.d("Voice File Readable", mVoiceFile.canRead()+"");
  63. Log.d("Beat File Readable", mBeatFile.canRead()+"");
  64. Log.d("Final File Readable", mRapFile.canRead()+"");
  65.  
  66. }
  67.  
  68. @Override
  69. public void onFinish() {
  70. mProcessTimeEnd = System.currentTimeMillis();
  71. long mProcessDifference = mProcessTimeEnd - mProcessTimeStart;
  72. double mProcessTotalSeconds = mProcessDifference / 1000.0;
  73. logRecordingProcessDuration(mProcessTotalSeconds);
  74. Log.d("FINISHED Mixing: ", mProcessTotalSeconds + "seconds");
  75. }
  76. });
  77. } catch (FFmpegCommandAlreadyRunningException e) {
  78.  
  79. }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement