CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: con ben Thanks ricevuti nelle ultime 24 ore
Utente della settimana: megthebest con ben 6 Thanks ricevuti negli ultimi sette giorni
Utente del mese: megthebest con ben 18 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 1 su 1
Discussione:

Registrazione Video

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Dec 2010
    Messaggi
    2

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Registrazione Video

    Salve, volevo mostrarvil il codice che voglio usare per registrare da fotocamera:
    Funziona correnttamente ma ricevo un warning quando inizio la registrazione e un errore quando la tremino

    Ecco il codice

    x
     
    1
    package com.adelchi.prova;
    2
    3
    import java.io.IOException;
    4
    5
    import java.util.ArrayList;
    6
    7
    import java.util.List;
    8
    9
    import android.app.Activity;
    10
    11
    import android.hardware.Camera;
    12
    import android.hardware.Camera.Size;
    13
    14
    import android.media.MediaRecorder;
    15
    import android.os.Bundle;
    16
    17
    import android.util.Log;
    18
    19
    import android.view.SurfaceHolder;
    20
    import android.view.SurfaceView;
    21
    import android.view.View;
    22
    23
    import android.view.View.OnClickListener;
    24
    import android.widget.ImageButton;
    25
    26
    public class prova extends Activity implements SurfaceHolder.Callback{
    27
        
    28
        private SurfaceView mSurfaceView;
    29
        private SurfaceHolder mSurfaceHolder;
    30
        private Camera mCamera;
    31
        private boolean mPreviewRunning;
    32
        
    33
        private static final String TAG = "RECORD";
    34
        
    35
        public void onCreate(Bundle savedInstanceState) {
    36
            super.onCreate(savedInstanceState);
    37
            
    38
            setContentView(R.layout.main);
    39
            
    40
            mSurfaceView = (SurfaceView)findViewById(R.id.camera_surface);
    41
            mSurfaceHolder = mSurfaceView.getHolder();
    42
            mSurfaceHolder.addCallback(this);
    43
            mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
    44
            
    45
            final ImageButton buttonPictureR = (ImageButton) findViewById(R.id.camera_surface_buttonR);
    46
            final ImageButton buttonPictureS = (ImageButton) findViewById(R.id.camera_surface_buttonS);
    47
                    buttonPictureR.setOnClickListener(new OnClickListener(){
    48
                            public void onClick(View v) {
    49
                                
    50
                                startRecording();
    51
                                buttonPictureR.setVisibility(4);
    52
                                buttonPictureS.setVisibility(0);
    53
                                
    54
                                
    55
                            }
    56
                    });
    57
                    
    58
                    
    59
                        buttonPictureS.setOnClickListener(new OnClickListener(){
    60
                            public void onClick(View v) {
    61
                                
    62
                                    stopRecording();
    63
                                    buttonPictureR.setVisibility(0);
    64
                                    buttonPictureS.setVisibility(4);
    65
                                    
    66
                            }
    67
                    });                
    68
                    
    69
        }
    70
        
    71
        public void surfaceCreated(SurfaceHolder holder) {
    72
            
    73
            mCamera = Camera.open();
    74
    75
        }
    76
        
    77
        public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {
    78
            if (mPreviewRunning)
    79
                    mCamera.stopPreview();
    80
            
    81
            Camera.Parameters p = mCamera.getParameters();
    82
            
    83
            p.setPreviewSize(arg2, arg3);
    84
            //p.setPreviewFormat(PixelFormat.JPEG);
    85
            ArrayList<Size> list = (ArrayList<Size>) p.getSupportedPictureSizes();  
    86
            List<String> list2 = p.getSupportedFocusModes();
    87
            int picture_width = list.get(0).width;
    88
            int picture_height = list.get(0).height;
    89
            p.setFocusMode(list2.get(0));
    90
            
    91
            p.setPictureSize(picture_width, picture_height);
    92
            
    93
            mCamera.setParameters(p);
    94
            try {
    95
                
    96
                System.out.println("sono fuori");
    97
                
    98
                mCamera.setPreviewDisplay(arg0);        
    99
                mCamera.startPreview();
    100
                mPreviewRunning = true;
    101
            } catch (IOException e) {        }
    102
            
    103
        }
    104
        
    105
        public void surfaceDestroyed(SurfaceHolder holder) {
    106
            
    107
            mCamera.stopPreview();
    108
            mPreviewRunning = false;
    109
            mCamera.release();
    110
                
    111
        }
    112
        
    113
        private MediaRecorder mediaRecorder;
    114
        private final int MAX_TIME = 20000;
    115
    116
        public boolean startRecording(){
    117
            try {
    118
    119
                mediaRecorder = new MediaRecorder();
    120
                mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    121
                mediaRecorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
    122
                mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    123
                mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
    124
                mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);
    125
                mediaRecorder.setMaxDuration((int) MAX_TIME); 
    126
                mediaRecorder.setVideoSize(320, 240);
    127
                mediaRecorder.setVideoFrameRate(20); 
    128
                mediaRecorder.setOutputFile("/sdcard/recordvideooutput.3gp");
    129
                
    130
                mediaRecorder.prepare();
    131
                mediaRecorder.start();
    132
    133
                return true;
    134
            } catch (IllegalStateException e) {
    135
                Log.e(TAG,e.getMessage());
    136
                e.printStackTrace();
    137
                return false;
    138
            } catch (IOException e) {
    139
                Log.e(TAG,e.getMessage());
    140
                e.printStackTrace();
    141
                return false;
    142
            }
    143
        }
    144
        
    145
        public void stopRecording(){
    146
            mediaRecorder.stop();
    147
            mediaRecorder.release(); // Now the object cannot be reused
    148
        }
    149
    }


    Questi sono gli errori quando premo il pulsante per registrare:

    12-10 15:01:17.197: WARN/System.err(9068): java.io.IOException: prepare failed.

    12-10 15:01:17.220: WARN/System.err(9068): at android.media.MediaRecorder._prepare(Native Method)
    12-10 15:01:17.220: WARN/System.err(9068): at android.media.MediaRecorder.prepare(MediaRecorder. java:530)
    12-10 15:01:17.220: WARN/System.err(9068): at com.adelchi.prova.prova.startRecording(prova.java: 136)
    12-10 15:01:17.220: WARN/System.err(9068): at com.adelchi.prova.prova$1.onClick(prova.java:50)
    12-10
    15:01:17.220: WARN/System.err(9068): at android.view.View.performClick(View.java:2461)
    12-10
    15:01:17.220: WARN/System.err(9068): at android.view.View$PerformClick.run(View.java:8890)
    12-10
    15:01:17.220: WARN/System.err(9068): at android.os.Handler.handleCallback(Handler.java:587 )
    12-10
    15:01:17.220: WARN/System.err(9068): at android.os.Handler.dispatchMessage(Handler.java:92 )
    12-10
    15:01:17.224: WARN/System.err(9068): at android.os.Looper.loop(Looper.java:123)
    12-10 15:01:17.224: WARN/System.err(9068): at android.app.ActivityThread.main(ActivityThread.jav a:4627)
    12-10
    15:01:17.224: WARN/System.err(9068): at java.lang.reflect.Method.invokeNative(Native Method)
    12-10
    15:01:17.224: WARN/System.err(9068): at java.lang.reflect.Method.invoke(Method.java:521)
    12-10
    15:01:17.224: WARN/System.err(9068): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:871)
    12-10
    15:01:17.224: WARN/System.err(9068): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:629)
    12-10 15:01:17.224: WARN/System.err(9068): at dalvik.system.NativeStart.main(Native Method)

    Questo quando termino la registrazione

    12-10 15:01:22.529: ERROR/AndroidRuntime(9068): FATAL EXCEPTION: main
    12-10 15:01:22.529: ERROR/AndroidRuntime(9068): java.lang.IllegalStateException
    12-10
    15:01:22.529: ERROR/AndroidRuntime(9068): at android.media.MediaRecorder.stop(Native Method)
    12-10
    15:01:22.529: ERROR/AndroidRuntime(9068): at com.adelchi.prova.prova.stopRecording(prova.java:1 52)
    12-10 15:01:22.529: ERROR/AndroidRuntime(9068): at com.adelchi.prova.prova$2.onClick(prova.java:62)
    12-10 15:01:22.529: ERROR/AndroidRuntime(9068): at android.view.View.performClick(View.java:2461)
    12-10
    15:01:22.529: ERROR/AndroidRuntime(9068): at android.view.View$PerformClick.run(View.java:8890)
    12-10 15:01:22.529: ERROR/AndroidRuntime(9068): at android.os.Handler.handleCallback(Handler.java:587 )
    12-10 15:01:22.529: ERROR/AndroidRuntime(9068): at android.os.Handler.dispatchMessage(Handler.java:92 )
    12-10 15:01:22.529: ERROR/AndroidRuntime(9068): at android.os.Looper.loop(Looper.java:123)
    12-10
    15:01:22.529: ERROR/AndroidRuntime(9068): at android.app.ActivityThread.main(ActivityThread.jav a:4627)
    12-10 15:01:22.529: ERROR/AndroidRuntime(9068): at java.lang.reflect.Method.invokeNative(Native Method)
    12-10 15:01:22.529: ERROR/AndroidRuntime(9068): at java.lang.reflect.Method.invoke(Method.java:521)
    12-10 15:01:22.529: ERROR/AndroidRuntime(9068): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:871)
    12-10
    15:01:22.529: ERROR/AndroidRuntime(9068): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:629)
    12-10 15:01:22.529: ERROR/AndroidRuntime(9068): at dalvik.system.NativeStart.main(Native Method)
    12-10
    15:01:22.552: WARN/ActivityManager(2501): Force finishing activity com.adelchi.prova/.prova

    Se qualcuno può illuminarmi.....

  2.  

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy