|
25 | 25 | import android.os.Build; |
26 | 26 | import android.os.Bundle; |
27 | 27 | import android.os.Environment; |
| 28 | +import android.support.annotation.Nullable; |
28 | 29 | import android.support.v4.app.Fragment; |
29 | 30 | import android.support.v4.app.FragmentTransaction; |
30 | 31 | import android.support.v4.widget.DrawerLayout; |
|
42 | 43 | import java.io.File; |
43 | 44 | import java.util.Locale; |
44 | 45 |
|
45 | | -import tv.danmaku.ijk.media.example.widget.media.IjkConstant; |
46 | | -import tv.danmaku.ijk.media.example.widget.media.MediaRecorder; |
47 | | -import tv.danmaku.ijk.media.player.IjkMediaPlayer; |
48 | | -import tv.danmaku.ijk.media.player.misc.ITrackInfo; |
49 | 46 | import tv.danmaku.ijk.media.example.R; |
50 | 47 | import tv.danmaku.ijk.media.example.application.Settings; |
51 | 48 | import tv.danmaku.ijk.media.example.content.RecentMediaStorage; |
52 | 49 | import tv.danmaku.ijk.media.example.fragments.TracksFragment; |
53 | 50 | import tv.danmaku.ijk.media.example.widget.media.AndroidMediaController; |
| 51 | +import tv.danmaku.ijk.media.example.widget.media.IjkConstant; |
54 | 52 | import tv.danmaku.ijk.media.example.widget.media.IjkVideoView; |
55 | 53 | import tv.danmaku.ijk.media.example.widget.media.MeasureHelper; |
| 54 | +import tv.danmaku.ijk.media.example.widget.media.MediaRecorder; |
| 55 | +import tv.danmaku.ijk.media.player.IjkMediaPlayer; |
| 56 | +import tv.danmaku.ijk.media.player.misc.ITrackInfo; |
56 | 57 |
|
57 | 58 | import static tv.danmaku.ijk.media.example.widget.media.IjkConstant.toast; |
58 | 59 |
|
@@ -133,7 +134,7 @@ protected void onCreate(Bundle savedInstanceState) { |
133 | 134 |
|
134 | 135 | ActionBar actionBar = getSupportActionBar(); |
135 | 136 | mMediaController = new AndroidMediaController(this, false); |
136 | | - mMediaController.setSupportActionBar(actionBar); |
| 137 | + // mMediaController.setSupportActionBar(actionBar); |
137 | 138 |
|
138 | 139 | mToastTextView = (TextView) findViewById(R.id.toast_text_view); |
139 | 140 | mHudView = (TableLayout) findViewById(R.id.hud_view); |
@@ -231,11 +232,43 @@ public boolean onOptionsItemSelected(MenuItem item) { |
231 | 232 | } |
232 | 233 | } else if (id == R.id.action_toggle_recording) { |
233 | 234 | if (!mMediaRecorder.isRecording()) { |
234 | | - boolean success = mMediaRecorder.startRecording(new File(Environment.getExternalStorageDirectory(), |
235 | | - String.format(Locale.US, "ijkplayer/%s/media.mp4", IjkConstant.generateNowTime4File(false)))); |
236 | | - if (!success) { |
237 | | - toast(this, "startRecording failed!"); |
238 | | - } |
| 235 | + mMediaRecorder.startRecording( |
| 236 | + new File(Environment.getExternalStorageDirectory(), String.format(Locale.US, "ijkplayer/%s/media.mp4", IjkConstant.generateNowTime4File(false))), |
| 237 | + new MediaRecorder.Callback() { |
| 238 | + @Override |
| 239 | + public void onStarted(MediaRecorder.EncodeThread thread) { |
| 240 | + Log.d(TAG, "onStarted() called with: thread = [" + thread + "]"); |
| 241 | + runOnUiThread(new Runnable() { |
| 242 | + @Override |
| 243 | + public void run() { |
| 244 | + toast(VideoActivity.this, "onStarted"); |
| 245 | + } |
| 246 | + }); |
| 247 | + } |
| 248 | + |
| 249 | + @Override |
| 250 | + public void onFailed(@Nullable MediaRecorder.EncodeThread thread, final Exception e) { |
| 251 | + Log.d(TAG, "onFailed() called with: thread = [" + thread + "], e = [" + e + "]"); |
| 252 | + runOnUiThread(new Runnable() { |
| 253 | + @Override |
| 254 | + public void run() { |
| 255 | + toast(VideoActivity.this, "onFailed: %s", e); |
| 256 | + } |
| 257 | + }); |
| 258 | + } |
| 259 | + |
| 260 | + @Override |
| 261 | + public void onCompleted(MediaRecorder.EncodeThread thread, final boolean reasonIsFormatChanged) { |
| 262 | + Log.d(TAG, "onCompleted() called with: thread = [" + thread + "], reasonIsFormatChanged = [" + reasonIsFormatChanged + "]"); |
| 263 | + runOnUiThread(new Runnable() { |
| 264 | + @Override |
| 265 | + public void run() { |
| 266 | + toast(VideoActivity.this, "onCompleted: %s", reasonIsFormatChanged); |
| 267 | + } |
| 268 | + }); |
| 269 | + } |
| 270 | + } |
| 271 | + ); |
239 | 272 | } else { |
240 | 273 | mMediaRecorder.stopRecording(); |
241 | 274 | } |
|
0 commit comments