Linguaggio

MediaRecorder Classe

Definizione

Usato per registrare audio e video.

[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
Ereditarietà
MediaRecorder
Attributi
Implementazioni

Commenti

Usato per registrare audio e video. Il controllo di registrazione si basa su una macchina a stati semplice (vedere di seguito).

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

Un caso comune di utilizzo di MediaRecorder per registrare l'audio funziona come segue:

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

Le applicazioni possono voler eseguire la registrazione per eventi informativi ed di errore per essere informati di alcuni aggiornamenti interni e di possibili errori di runtime durante la registrazione. La registrazione per tali eventi viene eseguita impostando i listener appropriati (tramite chiamate (per #setOnInfoListener(OnInfoListener)setOnInfoListener e/o #setOnErrorListener(OnErrorListener)setOnErrorListener). Per ricevere il rispettivo callback associato a questi listener, è necessario che le applicazioni creino oggetti MediaRecorder nei thread con un looper in esecuzione (il thread principale dell'interfaccia utente per impostazione predefinita ha già un Looper in esecuzione).

<nota forte>:</strong> Attualmente, MediaRecorder non funziona nell'emulatore.

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

Per altre informazioni su come usare MediaRecorder per registrare video, vedere la Guida per sviluppatori di fotocamera . Per altre informazioni su come usare MediaRecorder per registrare il suono, vedere la Guida per sviluppatori di Acquisizione audio .

</div>

per android.media.MediaRecorder.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Costruttori

Nome Descrizione
MediaRecorder()

Costruttore predefinito.

MediaRecorder(Context)

Costruttore predefinito.

MediaRecorder(IntPtr, JniHandleOwnership)

Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime.

Campi

Nome Descrizione
MediaErrorServerDied
Obsoleti.

Il server multimediale è morto.

MediaRecorderErrorUnknown
Obsoleti.

Errore del registratore multimediale non specificato.

Proprietà

Nome Descrizione
ActiveMicrophones

Restituisce un elenco di MicrophoneInfo che rappresenta i microfoni attivi.

ActiveRecordingConfiguration

Restituisce la registrazione audio attiva corrente per questo registratore audio.

AudioSourceMax

Ottiene il valore massimo per le origini audio.

Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Handle

Handle per l'istanza di Android sottostante.

(Ereditato da Object)
JniIdentityHashCode

Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità.

(Ereditato da Object)
JniManagedPeerState

Usato per registrare audio e video.

(Ereditato da JavaObject)
JniPeerMembers

Usato per registrare audio e video.

LogSessionId

Restituisce l'oggetto LogSessionId per MediaRecorder. -oppure- Imposta l'oggetto LogSessionId per MediaRecorder.

MaxAmplitude

Restituisce l'ampiezza assoluta massima campionata dall'ultima chiamata a questo metodo.

Metrics

Restituisce i dati delle metriche sull'istanza corrente di Mediarecorder.

PeerReference

Ottiene il riferimento all'oggetto JNI per questo peer Java.

(Ereditato da Object)
PreferredDevice

Restituisce il dispositivo di input selezionato specificato da #setPreferredDevice.

PrivacySensitive

Restituisce un valore che indica se mediaRecorder è contrassegnato come sensibile alla privacy o meno per quanto riguarda l'acquisizione audio. -oppure- Indica che questa richiesta di acquisizione è sensibile alla privacy e che qualsiasi acquisizione simultanea non è consentita.

RoutedDevice

Restituisce un oggetto AudioDeviceInfo che identifica il routing corrente di questa nota MediaRecorder: la query è valida solo se mediaRecorder è attualmente in corso di registrazione.

RoutedDevices

Restituisce un elenco di AudioDeviceInfo identificazione del routing corrente di MediaRecorder.

Surface

Ottiene la superficie da registrare quando si usa l'origine video SURFACE.

ThresholdClass

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

ThresholdType

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

Metodi

Nome Descrizione
AddOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener, Handler)

Aggiunge un AudioRouting.OnRoutingChangedListener oggetto per ricevere notifiche delle modifiche di routing in questo oggetto MediaRecorder.

Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Usato per registrare audio e video.

(Ereditato da JavaObject)
Dispose()

Rilascia le risorse contenute in questo peer Java.

(Ereditato da Object)
Dispose(Boolean)

Rilascia le risorse contenute in questo peer Java.

(Ereditato da Object)
DisposeUnlessReferenced()

Usato per registrare audio e video.

(Ereditato da JavaObject)
Equals(Object)

Usato per registrare audio e video.

(Ereditato da JavaObject)
Equals(Object)

Indica se un altro oggetto è "uguale a" questo.

(Ereditato da Object)
GetHashCode()

Restituisce un valore di codice hash per l'oggetto .

(Ereditato da Object)
JavaFinalize()

Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto .

(Ereditato da Object)
Notify()

Riattiva un singolo thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
Pause()

Sospende la registrazione.

Prepare()

Prepara il registratore per iniziare l'acquisizione e la codifica dei dati.

RegisterAudioRecordingCallback(IExecutor, AudioManager+AudioRecordingCallback)

Registrare un callback per ricevere una notifica delle modifiche di acquisizione audio tramite un oggetto AudioManager.AudioRecordingCallback.

Release()

Rilascia le risorse associate a questo oggetto MediaRecorder.

RemoveOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener)

Rimuove un oggetto AudioRouting.OnRoutingChangedListener che è stato aggiunto in precedenza per ricevere notifiche di reindirizzamento.

Reset()

Riavvia MediaRecorder sullo stato di inattività.

Resume()

Riprende la registrazione.

SetAudioChannels(Int32)

Imposta il numero di canali audio per la registrazione.

SetAudioEncoder(AudioEncoder)

Imposta il codificatore audio da utilizzare per la registrazione.

SetAudioEncodingBitRate(Int32)

Imposta la velocità di bit di codifica audio per la registrazione.

SetAudioProfile(EncoderProfiles+AudioProfile)

Usa le impostazioni di un Oggetto AudioProfile per la registrazione.

SetAudioSamplingRate(Int32)

Imposta la frequenza di campionamento audio per la registrazione.

SetAudioSource(AudioSource)

Imposta l'origine audio da utilizzare per la registrazione.

SetAuxiliaryOutputFile(FileDescriptor)
Obsoleti.

Attualmente non implementato.

SetAuxiliaryOutputFile(String)
Obsoleti.

Attualmente non implementato.

SetCamera(Camera)
Obsoleti.

Imposta un oggetto android.hardware.Camera da utilizzare per la registrazione.

SetCaptureRate(Double)

Impostare la frequenza di acquisizione dei fotogrammi video.

SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
SetInputSurface(Surface)

Configura il registratore per l'uso di una superficie persistente quando si usa l'origine video SURFACE.

SetLocation(Single, Single)

Impostare e archiviare i dati geografici (latitudine e longitudine) nel file di output.

SetMaxDuration(Int32)

Imposta la durata massima (in ms) della sessione di registrazione.

SetMaxFileSize(Int64)

Imposta il numero massimo di file (in byte) della sessione di registrazione.

SetNextOutputFile(File)

Imposta il file di output successivo da utilizzare quando viene raggiunto il numero massimo di file nell'output #setOutputFile precedente o #setNextOutputFile.

SetNextOutputFile(FileDescriptor)

Imposta il descrittore del file di output successivo da usare quando viene raggiunto il numero massimo di file nell'output #setOutputFile precedente o #setNextOutputFile.

SetOnErrorListener(MediaRecorder+IOnErrorListener)

Registrare un callback da richiamare quando si verifica un errore durante la registrazione.

SetOnInfoListener(MediaRecorder+IOnInfoListener)

Registrare un callback da richiamare quando si verifica un evento informativo durante la registrazione.

SetOrientationHint(Int32)

Imposta l'hint di orientamento per la riproduzione video di output.

SetOutputFile(File)

Passare l'oggetto file da scrivere.

SetOutputFile(FileDescriptor)

Passare il descrittore di file del file da scrivere.

SetOutputFile(String)

Imposta il percorso del file di output da produrre.

SetOutputFormat(OutputFormat)

Imposta il formato del file di output generato durante la registrazione.

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Usato per registrare audio e video.

(Ereditato da JavaObject)
SetPreferredDevice(AudioDeviceInfo)

Specifica un dispositivo audio (tramite un AudioDeviceInfo oggetto) per instradare l'input da questo MediaRecorder.

SetPreferredMicrophoneDirection(MicDirection)

Specifica il microfono logico (per l'elaborazione).

SetPreferredMicrophoneFieldDimension(Single)

Specifica il fattore di zoom (i.

SetPreviewDisplay(Surface)

Imposta un Surface per visualizzare un'anteprima dei supporti registrati (video).

SetProfile(CamcorderProfile)

Usa le impostazioni di un oggettoIntuneProfile per la registrazione.

SetVideoEncoder(VideoEncoder)

Imposta il codificatore video da utilizzare per la registrazione.

SetVideoEncodingBitRate(Int32)

Imposta la velocità di bit della codifica video per la registrazione.

SetVideoEncodingProfileLevel(MediaCodecProfileType, Int32)

Imposta il profilo di codifica video desiderato e il livello per la registrazione.

SetVideoFrameRate(Int32)

Imposta la frequenza dei fotogrammi del video da acquisire.

SetVideoProfile(EncoderProfiles+VideoProfile)

Usa le impostazioni di un oggetto VideoProfile per la registrazione.

SetVideoSize(Int32, Int32)

Imposta la larghezza e l'altezza del video da acquisire.

SetVideoSource(VideoSource)

Imposta l'origine video da utilizzare per la registrazione.

Start()

Inizia l'acquisizione e la codifica dei dati nel file specificato con setOutputFile().

Stop()

Arresta la registrazione.

ToArray<T>()

Crea una matrice gestita da questo wrapper di matrice Java.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione di stringa dell'oggetto .

(Ereditato da Object)
UnregisterAudioRecordingCallback(AudioManager+AudioRecordingCallback)

Annullare la registrazione di un callback di registrazione audio registrato in precedenza con #registerAudioRecordingCallback(Executor, AudioManager.AudioRecordingCallback).

UnregisterFromRuntime()

Annulla la registrazione di questo Java peer dal runtime di interoperabilità.

(Ereditato da Object)
Wait()

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>.

(Ereditato da Object)
Wait(Int64, Int32)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)
Wait(Int64)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)

Eventi

Nome Descrizione
Error

Usato per registrare audio e video.

Info

Usato per registrare audio e video.

RoutingChanged

Usato per registrare audio e video.

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IJavaPeerable.Disposed()

Usato per registrare audio e video.

(Ereditato da JavaObject)
IJavaPeerable.Finalized()

Usato per registrare audio e video.

(Ereditato da JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Usato per registrare audio e video.

(Ereditato da JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Usato per registrare audio e video.

(Ereditato da JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Usato per registrare audio e video.

(Ereditato da JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Usato per registrare audio e video.

(Ereditato da JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Usato per registrare audio e video.

Metodi di estensione

Nome Descrizione
GetJniTypeName(IJavaPeerable)

Ottiene il nome JNI del tipo dell'istanza selfdi .

JavaAs<TResult>(IJavaPeerable)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo di tipo controllato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Usato per registrare audio e video.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

Si applica a