MediaRecorder Classe

Definição

Usado para gravar áudio e 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
[<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
Herança
MediaRecorder
Atributos
Implementações

Comentários

Usado para gravar áudio e vídeo. O controle de gravação é baseado em um computador de estado simples (veja abaixo).

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

Um caso comum de uso do MediaRecorder para gravar áudio funciona da seguinte maneira:

MediaRecorder recorder = new MediaRecorder(context);
            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

Os aplicativos podem querer se registrar para eventos informativos e de erro para serem informados de algumas atualizações internas e possíveis erros de runtime durante a gravação. O registro para esses eventos é feito definindo os ouvintes apropriados (por meio de chamadas (para #setOnInfoListener(OnInfoListener)setOnInfoListener e/ou #setOnErrorListener(OnErrorListener)setOnErrorListener). Para receber o respectivo retorno de chamada associado a esses ouvintes, os aplicativos são necessários para criar objetos MediaRecorder em threads com um Looper em execução (o thread de interface do usuário principal por padrão já tem um Looper em execução).

<Observação forte>:</strong> Atualmente, MediaRecorder não funciona no emulador.

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

Para obter mais informações sobre como usar MediaRecorder para gravar vídeo, leia o guia do desenvolvedor da câmera . Para obter mais informações sobre como usar MediaRecorder para gravar som, leia o guia do desenvolvedor da Captura de Áudio .

</div>

Documentação Java para android.media.MediaRecorder.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usadas de acordo com os termos descritos na Licença de Atribuição Creative Commons 2.5.

Construtores

Nome Description
MediaRecorder()

Construtor padrão.

MediaRecorder(Context)

Construtor padrão.

MediaRecorder(IntPtr, JniHandleOwnership)

Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo runtime.

Campos

Nome Description
MediaErrorServerDied
Obsoleto.

O servidor de mídia morreu.

MediaRecorderErrorUnknown
Obsoleto.

Erro de gravador de mídia não especificado.

Propriedades

Nome Description
ActiveMicrophones

Retornar uma lista de representação dos MicrophoneInfo microfones ativos.

ActiveRecordingConfiguration

Retorna a gravação de áudio ativa atual para este gravador de áudio.

AudioSourceMax

Obtém o valor máximo para fontes de áudio.

Class

Retorna a classe de tempo de execução deste Object.

(Herdado de Object)
Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
JniIdentityHashCode

Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade.

(Herdado de Object)
JniManagedPeerState

Usado para gravar áudio e vídeo.

(Herdado de JavaObject)
JniPeerMembers

Usado para gravar áudio e vídeo.

LogSessionId

Retorna o LogSessionId para MediaRecorder. -ou- Define o LogSessionId para MediaRecorder.

MaxAmplitude

Retorna a amplitude absoluta máxima que foi amostrada desde a última chamada para esse método.

Metrics

Retornar dados de métricas sobre a instância atual do Mediarecorder.

PeerReference

Obtém a referência de objeto JNI para este par Java.

(Herdado de Object)
PreferredDevice

Retorna o dispositivo de entrada selecionado especificado por #setPreferredDevice.

PrivacySensitive

Retorna se esse MediaRecorder está marcado como confidencial de privacidade ou não em relação à captura de áudio. -ou- Indica que essa solicitação de captura é sensível à privacidade e que qualquer captura simultânea não é permitida.

RoutedDevice

Retorna uma AudioDeviceInfo identificação do roteamento atual desta Observação MediaRecorder: a consulta só será válida se o MediaRecorder estiver sendo gravado no momento.

RoutedDevices

Retorna uma lista de identificação do AudioDeviceInfo roteamento atual deste MediaRecorder.

Surface

Obtém a superfície a ser registrada ao usar a origem do vídeo SURFACE.

ThresholdClass

Essa API é compatível com a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

ThresholdType

Essa API é compatível com a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

Métodos

Nome Description
AddOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener, Handler)

Adiciona um AudioRouting.OnRoutingChangedListener para receber notificações de alterações de roteamento neste MediaRecorder.

Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Usado para gravar áudio e vídeo.

(Herdado de JavaObject)
Dispose()

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
Dispose(Boolean)

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
DisposeUnlessReferenced()

Usado para gravar áudio e vídeo.

(Herdado de JavaObject)
Equals(Object)

Usado para gravar áudio e vídeo.

(Herdado de JavaObject)
Equals(Object)

Indica se algum outro objeto é "igual a" este.

(Herdado de Object)
GetHashCode()

Retorna um valor de código hash para o objeto.

(Herdado de Object)
JavaFinalize()

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
Notify()

Ativa um único thread que está aguardando no monitor desse objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

(Herdado de Object)
Pause()

Pausa a gravação.

Prepare()

Prepara o gravador para começar a capturar e codificar dados.

RegisterAudioRecordingCallback(IExecutor, AudioManager+AudioRecordingCallback)

Registre um retorno de chamada para ser notificado sobre alterações de captura de áudio por meio de um AudioManager.AudioRecordingCallback.

Release()

Libera recursos associados a esse objeto MediaRecorder.

RemoveOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener)

Remove um AudioRouting.OnRoutingChangedListener que foi adicionado anteriormente para receber notificações de redirecionamento.

Reset()

Reinicia o MediaRecorder em seu estado ocioso.

Resume()

Retoma a gravação.

SetAudioChannels(Int32)

Define o número de canais de áudio para gravação.

SetAudioEncoder(AudioEncoder)

Define o codificador de áudio a ser usado para gravação.

SetAudioEncodingBitRate(Int32)

Define a taxa de bits de codificação de áudio para gravação.

SetAudioProfile(EncoderProfiles+AudioProfile)

Usa as configurações de um AudioProfile para gravação.

SetAudioSamplingRate(Int32)

Define a taxa de amostragem de áudio para gravação.

SetAudioSource(AudioSource)

Define a fonte de áudio a ser usada para gravação.

SetAuxiliaryOutputFile(FileDescriptor)
Obsoleto.

Atualmente não implementado.

SetAuxiliaryOutputFile(String)
Obsoleto.

Atualmente não implementado.

SetCamera(Camera)
Obsoleto.

Define um android.hardware.Camera a ser usado para gravação.

SetCaptureRate(Double)

Defina a taxa de captura de quadros de vídeo.

SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle

(Herdado de Object)
SetInputSurface(Surface)

Configura o gravador para usar uma superfície persistente ao usar a fonte de vídeo SURFACE.

SetLocation(Single, Single)

Defina e armazene a geodata (latitude e longitude) no arquivo de saída.

SetMaxDuration(Int32)

Define a duração máxima (em ms) da sessão de gravação.

SetMaxFileSize(Int64)

Define o máximo de arquivos (em bytes) da sessão de gravação.

SetNextOutputFile(File)

Define o próximo arquivo de saída a ser usado quando o máximo de arquivos for atingido na saída #setOutputFile anterior ou #setNextOutputFile).

SetNextOutputFile(FileDescriptor)

Define o próximo descritor de arquivo de saída a ser usado quando o máximo de arquivos for atingido na saída #setOutputFile anterior ou #setNextOutputFile).

SetOnErrorListener(MediaRecorder+IOnErrorListener)

Registre um retorno de chamada a ser invocado quando ocorrer um erro durante a gravação.

SetOnInfoListener(MediaRecorder+IOnInfoListener)

Registre um retorno de chamada a ser invocado quando ocorrer um evento informativo durante a gravação.

SetOrientationHint(Int32)

Define a dica de orientação para reprodução de vídeo de saída.

SetOutputFile(File)

Passe o objeto de arquivo a ser gravado.

SetOutputFile(FileDescriptor)

Passe o descritor de arquivo do arquivo a ser gravado.

SetOutputFile(String)

Define o caminho do arquivo de saída a ser produzido.

SetOutputFormat(OutputFormat)

Define o formato do arquivo de saída produzido durante a gravação.

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Usado para gravar áudio e vídeo.

(Herdado de JavaObject)
SetPreferredDevice(AudioDeviceInfo)

Especifica um dispositivo de áudio (por meio de um AudioDeviceInfo objeto) para rotear a entrada desse MediaRecorder.

SetPreferredMicrophoneDirection(MicDirection)

Especifica o microfone lógico (para processamento).

SetPreferredMicrophoneFieldDimension(Single)

Especifica o fator de zoom (i.

SetPreviewDisplay(Surface)

Define um Surface para mostrar uma visualização da mídia gravada (vídeo).

SetProfile(CamcorderProfile)

Usa as configurações de um objeto CamcorderProfile para gravação.

SetVideoEncoder(VideoEncoder)

Define o codificador de vídeo a ser usado para gravação.

SetVideoEncodingBitRate(Int32)

Define a taxa de bits de codificação de vídeo para gravação.

SetVideoEncodingProfileLevel(MediaCodecProfileType, Int32)

Define o perfil e o nível de codificação de vídeo desejados para gravação.

SetVideoFrameRate(Int32)

Define a taxa de quadros do vídeo a ser capturado.

SetVideoProfile(EncoderProfiles+VideoProfile)

Usa as configurações de um objeto VideoProfile para gravação.

SetVideoSize(Int32, Int32)

Define a largura e a altura do vídeo a serem capturados.

SetVideoSource(VideoSource)

Define a origem do vídeo a ser usada para gravação.

Start()

Começa a capturar e codificar dados no arquivo especificado com setOutputFile().

Stop()

Interrompe a gravação.

ToArray<T>()

Cria uma matriz gerenciada com base nesse wrapper de matriz Java.

(Herdado de Object)
ToString()

Retorna uma representação de cadeia de caracteres do objeto.

(Herdado de Object)
UnregisterAudioRecordingCallback(AudioManager+AudioRecordingCallback)

Cancelar o registro de um retorno de chamada de gravação de áudio registrado anteriormente com #registerAudioRecordingCallback(Executor, AudioManager.AudioRecordingCallback).

UnregisterFromRuntime()

Cancela o registro desse par Java do runtime de interoperabilidade.

(Herdado de Object)
Wait()

Faz com que o thread atual aguarde até que seja despertado, normalmente sendo <notificado></em> ou <em>interrompido</em>.

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que seja ativado, normalmente sendo <notificado></em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que seja ativado, normalmente sendo <notificado></em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)

Eventos

Nome Description
Error

Usado para gravar áudio e vídeo.

Info

Usado para gravar áudio e vídeo.

RoutingChanged

Usado para gravar áudio e vídeo.

Implantações explícitas de interface

Nome Description
IJavaPeerable.Disposed()

Usado para gravar áudio e vídeo.

(Herdado de JavaObject)
IJavaPeerable.Finalized()

Usado para gravar áudio e vídeo.

(Herdado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Usado para gravar áudio e vídeo.

(Herdado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Usado para gravar áudio e vídeo.

(Herdado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Usado para gravar áudio e vídeo.

(Herdado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Usado para gravar áudio e vídeo.

(Herdado de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Usado para gravar áudio e vídeo.

Métodos de Extensão

Nome Description
GetJniTypeName(IJavaPeerable)

Obtém o nome JNI do tipo da instância self.

JavaAs<TResult>(IJavaPeerable)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo verificada pelo tempo de execução do Android.

JavaCast<TResult>(IJavaObject)

Usado para gravar áudio e vídeo.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

Aplica-se a