AndroidRecordingAudioVideo
所属分类:android开发
开发工具:Java
文件大小:1111KB
下载次数:13
上传日期:2014-10-11 13:16:50
上 传 者:
luozhixin4567
说明: Android录像库,为音频或者视频的录制和播放提供了方便的工具。
(Android Recording library offers convenient tools for audio/video recording and playback)
文件列表:
AndroidRecording-master\.classpath (466, 2013-11-11)
AndroidRecording-master\.project (819, 2013-11-11)
AndroidRecording-master\.settings\org.eclipse.jdt.core.prefs (173, 2013-11-11)
AndroidRecording-master\demo\.classpath (466, 2013-11-11)
AndroidRecording-master\demo\.project (824, 2013-11-11)
AndroidRecording-master\demo\.settings\org.eclipse.jdt.core.prefs (173, 2013-11-11)
AndroidRecording-master\demo\AndroidManifest.xml (2190, 2013-11-11)
AndroidRecording-master\demo\gen\com\skd\androidrecordingtest\BuildConfig.java (170, 2013-11-11)
AndroidRecording-master\demo\libs\android-support-v4.jar (556198, 2013-11-11)
AndroidRecording-master\demo\proguard-project.txt (781, 2013-11-11)
AndroidRecording-master\demo\project.properties (598, 2013-11-11)
AndroidRecording-master\demo\res\drawable-hdpi\ic_launcher.png (9778, 2013-11-11)
AndroidRecording-master\demo\res\drawable-hdpi\ic_switch.jpg (1970, 2013-11-11)
AndroidRecording-master\demo\res\drawable-mdpi\ic_launcher.png (6529, 2013-11-11)
AndroidRecording-master\demo\res\drawable-xhdpi\ic_launcher.png (14523, 2013-11-11)
AndroidRecording-master\demo\res\layout\audio_play.xml (581, 2013-11-11)
AndroidRecording-master\demo\res\layout\audio_rec.xml (1510, 2013-11-11)
AndroidRecording-master\demo\res\layout\main.xml (475, 2013-11-11)
AndroidRecording-master\demo\res\layout\video_play.xml (490, 2013-11-11)
AndroidRecording-master\demo\res\layout\video_rec.xml (2355, 2013-11-11)
AndroidRecording-master\demo\res\values\dimens.xml (213, 2013-11-11)
AndroidRecording-master\demo\res\values\strings.xml (883, 2013-11-11)
AndroidRecording-master\demo\res\values\styles.xml (680, 2013-11-11)
AndroidRecording-master\demo\res\values-sw600dp\dimens.xml (196, 2013-11-11)
AndroidRecording-master\demo\res\values-sw720dp-land\dimens.xml (269, 2013-11-11)
AndroidRecording-master\demo\res\values-v11\styles.xml (324, 2013-11-11)
AndroidRecording-master\demo\res\values-v14\styles.xml (381, 2013-11-11)
AndroidRecording-master\demo\src\com\skd\androidrecordingtest\AudioPlaybackActivity.java (2189, 2013-11-11)
AndroidRecording-master\demo\src\com\skd\androidrecordingtest\AudioRecordingActivity.java (4135, 2013-11-11)
AndroidRecording-master\demo\src\com\skd\androidrecordingtest\MainActivity.java (1324, 2013-11-11)
AndroidRecording-master\demo\src\com\skd\androidrecordingtest\SizeAdapter.java (1406, 2013-11-11)
AndroidRecording-master\demo\src\com\skd\androidrecordingtest\utils\NotificationUtils.java (663, 2013-11-11)
AndroidRecording-master\demo\src\com\skd\androidrecordingtest\utils\StorageUtils.java (700, 2013-11-11)
AndroidRecording-master\demo\src\com\skd\androidrecordingtest\VideoPlaybackActivity.java (1687, 2013-11-11)
AndroidRecording-master\demo\src\com\skd\androidrecordingtest\VideoRecordingActivity.java (5115, 2013-11-11)
AndroidRecording-master\lib\.classpath (544, 2013-11-11)
AndroidRecording-master\lib\.project (819, 2013-11-11)
AndroidRecording-master\lib\.settings\org.eclipse.jdt.core.prefs (173, 2013-11-11)
AndroidRecording-master\lib\AndroidManifest.xml (471, 2013-11-11)
... ...
Android Recording Library
=======================================
Android Recording library offers convenient tools for audio/video recording and playback.
For audio it uses:
* AudioRecord to capture and save audio signal from microphone
* MediaPlayer with MediaController to play recorded audio
* custom Visualizer (like bar chart) to represent audio signal on screen while recording and during playback
For video it uses:
* Camera and MediaRecorder to record a video of specified resolution
* MediaPlayer with MediaController to play recorded video
* custom SurfaceView with adjustable size to properly display Camera preview and recorded video (in portrait and landscape modes)
Record audio: how to use
------------------------
1. Setup VisualizerView
```xml
```
```java
visualizerView = (VisualizerView) findViewById(R.id.visualizerView);
setupVisualizer();
...
private void setupVisualizer() {
Paint paint = new Paint();
paint.setStrokeWidth(5f); //set bar width
paint.setAntiAlias(true);
paint.setColor(Color.argb(200, 227, 69, 53)); //set bar color
BarGraphRenderer barGraphRendererBottom = new BarGraphRenderer(2, paint, false);
visualizerView.addRenderer(barGraphRendererBottom);
}
```
2. Start recording thread
```java
private void startRecording() {
recordingThread = new AudioRecordingThread(fileName, new AudioRecordingHandler() { //pass file name where to store the recorded audio
@Override
public void onFftDataCapture(final byte[] bytes) {
runOnUiThread(new Runnable() {
public void run() {
if (visualizerView != null) {
visualizerView.updateVisualizerFFT(bytes); //update VisualizerView with new audio portion
}
}
});
}
@Override
public void onRecordSuccess() {}
@Override
public void onRecordingError() {}
@Override
public void onRecordSaveError() {}
});
recordingThread.start();
}
```
3. When done, stop recording
```java
private void stopRecording() {
if (recordingThread != null) {
recordingThread.stopRecording();
recordingThread = null;
}
}
```
Play audio: how to use
------------------------
1. Setup VisualizerView
2. Setup AudioPlaybackManager. It will attach MediaPlayer to a VisualizerView
```java
playbackManager = new AudioPlaybackManager(this, visualizerView, playbackHandler);
playbackManager.setupPlayback(fileName); //pass file name of the recorded audio
```
3. Use onscreen MediaController to play/pause/stop/rewind audio
Record video: how to use
------------------------
1. Setup custom SurfaceView (AdaptiveSurfaceView)
```xml
```
2. Setup RecordingManager
```java
videoView = (AdaptiveSurfaceView) findViewById(R.id.videoView);
recordingManager = new VideoRecordingManager(videoView, recordingHandler); //pass reference to custom SurfaceView
```
3. Choose desired video resolution and pass it to RecordingManager, it will adjust size of AdaptiveSurfaceView to properly display Camera output
```java
recordingManager.setPreviewSize(videoSize);
```
4. To start recording use
```java
recordingManager.startRecording(fileName, videoSize)
```
5. To stop recording use
```java
recordingManager.stopRecording()
```
Play video: how to use
------------------------
1. Setup custom SurfaceView (AdaptiveSurfaceView)
2. Setup VideoPlaybackManager. It will attach MediaPlayer to a VisualizerView
```java
playbackManager = new VideoPlaybackManager(this, videoView, playbackHandler);
playbackManager.setupPlayback(fileName); //pass file name of the recorded video
```
3. Use onscreen MediaController to play/pause/stop/rewind video
====================================
For more details, please, see the demo project.
近期下载者:
相关文件:
收藏者: