MediaRecorder Clase

Definición

Se usa para grabar audio y vídeo.

[Android.Runtime.Register("android/media/MediaRecorder", DoNotGenerateAcw=true)]
public class MediaRecorder : Java.Lang.Object, Android.Media.IAudioRecordingMonitor, Android.Media.IAudioRouting, Android.Media.IMicrophoneDirection, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/media/MediaRecorder", DoNotGenerateAcw=true)>]
type MediaRecorder = class
    inherit Object
    interface IAudioRecordingMonitor
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IAudioRouting
    interface IMicrophoneDirection
Herencia
MediaRecorder
Atributos
Implementaciones

Comentarios

Se usa para grabar audio y vídeo. El control de grabación se basa en una máquina de estado simple (consulte a continuación).

<img src="https://developer.android.com/images/mediarecorder_state_diagram.gif" border="0" />

Un caso común de uso de MediaRecorder para grabar audio funciona de la siguiente manera:

MediaRecorder recorder = new MediaRecorder();
            recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
            recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
            recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
            recorder.setOutputFile(PATH_NAME);
            recorder.prepare();
            recorder.start();   // Recording is now started
            ...
            recorder.stop();
            recorder.reset();   // You can reuse the object by going back to setAudioSource() step
            recorder.release(); // Now the object cannot be reused

Es posible que las aplicaciones quieran registrarse para eventos informativos y de error para informarse de algunas actualizaciones internas y posibles errores en tiempo de ejecución durante la grabación. El registro de estos eventos se realiza estableciendo los agentes de escucha adecuados (a través de llamadas (para #setOnInfoListener(OnInfoListener)setOnInfoListener o #setOnErrorListener(OnErrorListener)setOnErrorListener). Para recibir la devolución de llamada correspondiente asociada a estos agentes de escucha, las aplicaciones deben crear objetos MediaRecorder en subprocesos con un looper en ejecución (el subproceso principal de la interfaz de usuario ya tiene un bucle en ejecución de forma predeterminada).

<strong>Note:</strong> Actualmente, MediaRecorder no funciona en el emulador.

<div class="special reference"><h3>Developer Guides</h3>

Para obtener más información sobre cómo usar MediaRecorder para grabar vídeo, lea la guía para desarrolladores de cámara . Para obtener más información sobre cómo usar MediaRecorder para grabar sonido, lea la guía para desarrolladores de captura de audio .

</Div>

Documentación de Java para android.media.MediaRecorder.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código Project y que se usan según los términos Creative Commons 2.5 Attribution License.

Constructores

MediaRecorder()

Constructor predeterminado.

MediaRecorder(Context)

Constructor predeterminado.

MediaRecorder(IntPtr, JniHandleOwnership)

Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución.

Campos

MediaErrorServerDied
Obsoletos.

El servidor multimedia murió.

MediaRecorderErrorUnknown
Obsoletos.

Error de grabadora de medios no especificado.

Propiedades

ActiveMicrophones

Devuelve una lista de MicrophoneInfo que representa los micrófonos activos.

ActiveRecordingConfiguration

Devuelve la grabación de audio activa actual para esta grabadora de audio.

AudioSourceMax

Obtiene el valor máximo de los orígenes de audio.

Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
JniIdentityHashCode

Se usa para grabar audio y vídeo.

(Heredado de Object)
JniPeerMembers

Se usa para grabar audio y vídeo.

LogSessionId

Devuelve para LogSessionId MediaRecorder. -o bien- Establece para LogSessionId MediaRecorder.

MaxAmplitude

Devuelve la amplitud absoluta máxima que se muestreó desde la última llamada a este método.

Metrics

Devuelve datos de métricas sobre la instancia de Mediarecorder actual.

PeerReference

Se usa para grabar audio y vídeo.

(Heredado de Object)
PreferredDevice

Devuelve el dispositivo de entrada seleccionado especificado por #setPreferredDevice.

PrivacySensitive

Devuelve si este Objeto MediaRecorder está marcado como confidencial de privacidad o no con respecto a la captura de audio. -o bien- Indica que esta solicitud de captura es confidencial de privacidad y que no se permite ninguna captura simultánea.

RoutedDevice

Devuelve un AudioDeviceInfo objeto que identifica el enrutamiento actual de esta nota de MediaRecorder: La consulta solo es válida si mediaRecorder está grabando actualmente.

Surface

Obtiene la superficie desde la que se va a grabar cuando se usa el origen de vídeo SURFACE.

ThresholdClass

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

ThresholdType

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

Métodos

AddOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener, Handler)

Agrega un AudioRouting.OnRoutingChangedListener objeto para recibir notificaciones de cambios de enrutamiento en este objeto MediaRecorder.

Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Dispose()

Se usa para grabar audio y vídeo.

(Heredado de Object)
Dispose(Boolean)

Se usa para grabar audio y vídeo.

(Heredado de Object)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
GetHashCode()

Devuelve un valor de código hash del objeto.

(Heredado de Object)
JavaFinalize()

Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto .

(Heredado de Object)
Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
Pause()

Pausa la grabación.

Prepare()

Prepara la grabadora para empezar a capturar y codificar datos.

RegisterAudioRecordingCallback(IExecutor, AudioManager+AudioRecordingCallback)

Registre una devolución de llamada para recibir una notificación de los cambios de captura de audio a través de .AudioManager.AudioRecordingCallback

Release()

Libera los recursos asociados a este objeto MediaRecorder.

RemoveOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener)

Quita un objeto AudioRouting.OnRoutingChangedListener que se ha agregado anteriormente para recibir notificaciones de reenrutamiento.

Reset()

Reinicia mediaRecorder en su estado de inactividad.

Resume()

Reanuda la grabación.

SetAudioChannels(Int32)

Establece el número de canales de audio para la grabación.

SetAudioEncoder(AudioEncoder)

Establece el codificador de audio que se va a usar para la grabación.

SetAudioEncodingBitRate(Int32)

Establece la velocidad de bits de codificación de audio para la grabación.

SetAudioProfile(EncoderProfiles+AudioProfile)

Usa la configuración de un audioProfile para la grabación.

SetAudioSamplingRate(Int32)

Establece la frecuencia de muestreo de audio para la grabación.

SetAudioSource(AudioSource)

Establece el origen de audio que se va a usar para la grabación.

SetAuxiliaryOutputFile(FileDescriptor)
Obsoletos.

No implementado actualmente.

SetAuxiliaryOutputFile(String)
Obsoletos.

No implementado actualmente.

SetCamera(Camera)
Obsoletos.

Establece un objeto android.hardware.Camera que se va a usar para la grabación.

SetCaptureRate(Double)

Establezca la velocidad de captura de fotogramas de vídeo.

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
SetInputSurface(Surface)

Configura la grabadora para usar una superficie persistente al usar el origen de vídeo SURFACE.

SetLocation(Single, Single)

Establezca y almacene los datos geográficos (latitud y longitud) en el archivo de salida.

SetMaxDuration(Int32)

Establece la duración máxima (en ms) de la sesión de grabación.

SetMaxFileSize(Int64)

Establece el tamaño máximo de archivos (en bytes) de la sesión de grabación.

SetNextOutputFile(File)

Establece el siguiente archivo de salida que se usará cuando se alcanza el tamaño máximo de archivos en la salida #setOutputFile anterior o #setNextOutputFile).

SetNextOutputFile(FileDescriptor)

Establece el siguiente descriptor de archivo de salida que se usará cuando se alcanza el tamaño máximo de archivos en la salida #setOutputFile anterior o #setNextOutputFile).

SetOnErrorListener(MediaRecorder+IOnErrorListener)

Registre una devolución de llamada que se invocará cuando se produzca un error durante la grabación.

SetOnInfoListener(MediaRecorder+IOnInfoListener)

Registre una devolución de llamada que se invocará cuando se produzca un evento informativo durante la grabación.

SetOrientationHint(Int32)

Establece la sugerencia de orientación para la reproducción de vídeo de salida.

SetOutputFile(File)

Pase el objeto de archivo que se va a escribir.

SetOutputFile(FileDescriptor)

Pase el descriptor de archivo del archivo que se va a escribir.

SetOutputFile(String)

Establece la ruta de acceso del archivo de salida que se va a generar.

SetOutputFormat(OutputFormat)

Establece el formato del archivo de salida generado durante la grabación.

SetPreferredDevice(AudioDeviceInfo)

Especifica un dispositivo de audio (a través de un AudioDeviceInfo objeto) para enrutar la entrada desde este objeto MediaRecorder.

SetPreferredMicrophoneDirection(MicDirection)

Especifica el micrófono lógico (para su procesamiento).

SetPreferredMicrophoneFieldDimension(Single)

Especifica el factor de zoom (i.

SetPreviewDisplay(Surface)

Establece un Surface para mostrar una vista previa de los medios grabados (vídeo).

SetProfile(CamcorderProfile)

Utiliza la configuración de un objeto VideocámaraProfile para la grabación.

SetVideoEncoder(VideoEncoder)

Establece el codificador de vídeo que se va a usar para la grabación.

SetVideoEncodingBitRate(Int32)

Establece la velocidad de bits de codificación de vídeo para la grabación.

SetVideoEncodingProfileLevel(MediaCodecProfileType, Int32)

Establece el perfil y el nivel de codificación de vídeo deseados para la grabación.

SetVideoFrameRate(Int32)

Establece la velocidad de fotogramas del vídeo que se va a capturar.

SetVideoProfile(EncoderProfiles+VideoProfile)

Usa la configuración de un objeto VideoProfile para la grabación.

SetVideoSize(Int32, Int32)

Establece el ancho y alto del vídeo que se va a capturar.

SetVideoSource(VideoSource)

Establece el origen de vídeo que se va a usar para la grabación.

Start()

Comienza a capturar y codificar datos en el archivo especificado con setOutputFile().

Stop()

Detiene la grabación.

ToArray<T>()

Se usa para grabar audio y vídeo.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto.

(Heredado de Object)
UnregisterAudioRecordingCallback(AudioManager+AudioRecordingCallback)

Anule el registro de una devolución de llamada de grabación de audio registrada anteriormente con #registerAudioRecordingCallback(Executor, AudioManager.AudioRecordingCallback).

UnregisterFromRuntime()

Se usa para grabar audio y vídeo.

(Heredado de Object)
Wait()

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em> o <em>interrumpido</em>.<><

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)

Eventos

Error

Se usa para grabar audio y vídeo.

Info

Se usa para grabar audio y vídeo.

RoutingChanged

Se usa para grabar audio y vídeo.

Implementaciones de interfaz explícitas

IJavaPeerable.Disposed()

Se usa para grabar audio y vídeo.

(Heredado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Se usa para grabar audio y vídeo.

(Heredado de Object)
IJavaPeerable.Finalized()

Se usa para grabar audio y vídeo.

(Heredado de Object)
IJavaPeerable.JniManagedPeerState

Se usa para grabar audio y vídeo.

(Heredado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Se usa para grabar audio y vídeo.

(Heredado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Se usa para grabar audio y vídeo.

(Heredado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Se usa para grabar audio y vídeo.

(Heredado de Object)

Métodos de extensión

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Se usa para grabar audio y vídeo.

GetJniTypeName(IJavaPeerable)

Se usa para grabar audio y vídeo.

Se aplica a