MediaRecorder Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| RoutedDevices |
Retorna uma lista de identificação do |
| 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 |
| 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 |
| Release() |
Libera recursos associados a esse objeto MediaRecorder. |
| RemoveOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener) |
Remove um |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| 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 |