J'essaye de faire une application qui enregistre la vidéo et stocke les dossiers Dans une vue de tableau. Je veux être en mesure de voir un aperçu sur chaque cellule et quand j'appuie sur une cellule, une vidéo qui a été précédemment enregistrée et stockée ici commence à jouer. Quelle est la meilleure façon de le faire et s'il y a des tutoriels ou des didacticiels vidéo, quelqu'un peut-il me rediriger là?Enregistrement vidéo?
0
A
Répondre
0
Voici le code pour l'enregistrement vidéo:
package milos.stackVideo;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import android.app.Activity;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.media.CamcorderProfile;
import android.media.MediaPlayer;
import android.media.MediaRecorder;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.provider.Settings;
import android.util.Log;
import android.view.MenuItem;
import android.view.SurfaceHolder;
import android.view.SurfaceHolder.Callback;
import android.view.Menu;
import android.view.SurfaceView;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class EnregistrementVideoStackActivity extends Activity implements Callback {
private SurfaceHolder surfaceHolder;
private SurfaceView surfaceView;
public MediaRecorder mrec = new MediaRecorder();
private Button startRecording = null;
//private Button stopRecording = null;
File video;
private Camera mCamera;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.camera_surface);
Log.i(null , "Video starting");
startRecording = (Button)findViewById(R.id.buttonstart);
mCamera = Camera.open();
surfaceView = (SurfaceView) findViewById(R.id.surface_camera);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
menu.add(0, 0, 0, "StartRecording");
menu.add(0, 1, 0, "StopRecording");
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case 0:
try {
startRecording();
} catch (Exception e) {
String message = e.getMessage();
Log.i(null, "Problem Start"+message);
mrec.release();
}
break;
case 1: //GoToAllNotes
mrec.stop();
mrec.release();
mrec = null;
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
protected void startRecording() throws IOException
{
mrec = new MediaRecorder(); // Works well
mCamera.unlock();
mrec.setCamera(mCamera);
mrec.setPreviewDisplay(surfaceHolder.getSurface());
mrec.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mrec.setAudioSource(MediaRecorder.AudioSource.MIC);
mrec.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));
mrec.setPreviewDisplay(surfaceHolder.getSurface());
mrec.setOutputFile("/sdcard/zzzz.3gp");
mrec.prepare();
mrec.start();
}
protected void stopRecording() {
mrec.stop();
mrec.release();
mCamera.release();
}
private void releaseMediaRecorder(){
if (mrec != null) {
mrec.reset(); // clear recorder configuration
mrec.release(); // release the recorder object
mrec = null;
mCamera.lock(); // lock camera for later use
}
}
private void releaseCamera(){
if (mCamera != null){
mCamera.release(); // release the camera for other applications
mCamera = null;
}
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
// TODO Auto-generated method stub
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub
if (mCamera != null){
Parameters params = mCamera.getParameters();
mCamera.setParameters(params);
}
else {
Toast.makeText(getApplicationContext(), "Camera not available!", Toast.LENGTH_LONG).show();
finish();
}
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
mCamera.stopPreview();
mCamera.release();
// TODO Auto-generated method stub
}
}
Il peut être usful pour quelqu'un.
Questions connexes
- 1. Enregistrement vidéo WPF
- 2. vidéo Android enregistrement
- 3. enregistrement vidéo android avec émulateur
- 4. Enregistrement vidéo sur écran Android
- 5. Enregistrement vidéo Android et vignette
- 6. Enregistrement d'images dans une vidéo
- 7. Enregistrement d'une vidéo pendant la lecture d'une vidéo sur iPhone?
- 8. Enregistrement de séquences vidéo à partir des trames vidéo AVCaptureVideoDataOutput
- 9. Enregistrement vidéo sans intervention de l'utilisateur
- 10. Enregistrement vidéo en utilisant AVFoundation Framework iPhone?
- 11. enregistrement vidéo à partir du navigateur Web
- 12. Enregistrement d'un flux vidéo en direct en C#/XNA
- 13. Enregistrement d'une vidéo dans la bibliothèque de photos - SDK iPhone
- 14. Puis-je effectuer un enregistrement vidéo sur le Web?
- 15. Enregistrement vidéo de la caméra avant iPhone 4?
- 16. Enregistrement de la vidéo à partir de UIImagePickerController
- 17. Enregistrement vidéo Flash sur le site Web tutoriel
- 18. WMP: streaming, puis enregistrement
- 19. Enregistrement automatique dans MediaStore
- 20. Simulateur vidéo Android
- 21. Enregistrement/enregistrement vocal en Delphi
- 22. Exportation vidéo Traitement Applet vidéo
- 23. Ajout d'un texte dans une vidéo et enregistrement de la sortie
- 24. Diffusion en direct à l'aide de l'iPhone et enregistrement de la vidéo
- 25. Enregistrement vidéo iPhone: "cameraCaptureMode 1 non disponible car mediaTypes contient public.movie"
- 26. Où puis-je trouver un enregistrement vidéo non compressé à partir de l'iPhone 3G/3GS/4
- 27. Enregistrement de la vidéo de UIImagePickerController vers les données de base sur iPhone OS
- 28. Enregistrement d'une incrustation personnalisée sur l'iPhone
- 29. Enregistrement SWF et conversion en FLV
- 30. Native. * AssemblyIdentity avec enregistrement sans enregistrement com
Juste pour réduire un peu le champ des possibilités, voulez-vous écrire un programme qui fait cela? Si oui, quel langage de programmation êtes-vous le plus à l'aise? Voulez-vous un contrôle qui peut faire la plupart du travail vidéo complexe dans votre programme. Ou voulez-vous une application logicielle complète pré-construite qui le fait et est facile à utiliser? –
Dans quel format sont vos fichiers vidéo? – drudge
duplication possible de [Description de base sur la façon d'enregistrer de la vidéo dans les iOs 4] (http://stackoverflow.com/questions/3173822/basic-description-on-how-to-record-video-in-ios-4) –