Condividi tramite


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, 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
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();
            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

È possibile che le applicazioni vogliano registrarsi per eventi informativi ed di errore per essere informati di alcuni aggiornamenti interni e 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 (per impostazione predefinita il thread principale dell'interfaccia utente dispone già di un looper in esecuzione).

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

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

Per altre informazioni sull'uso di MediaRecorder per la registrazione di video, vedere la Guida per sviluppatori della fotocamera . Per altre informazioni su come usare MediaRecorder per la registrazione del suono, vedere la Guida per gli sviluppatori di Acquisizione audio .

</Div>

Documentazione java per android.media.MediaRecorder.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal Android e usato in base ai termini descritti in 2.5 Attribution License Creative Commons 2.5 Attribution License.

Costruttori

MediaRecorder()

Costruttore predefinito.

MediaRecorder(Context)

Costruttore predefinito.

MediaRecorder(IntPtr, JniHandleOwnership)

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

Campi

MediaErrorServerDied
Obsoleti.

Il server multimediale è morto.

MediaRecorderErrorUnknown
Obsoleti.

Errore del registratore multimediale non specificato.

Proprietà

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

Usato per registrare audio e video.

(Ereditato da Object)
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 mediarecorder corrente.

PeerReference

Usato per registrare audio e video.

(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 sta registrando.

Surface

Ottiene la superficie da cui 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

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)
Dispose()

Usato per registrare audio e video.

(Ereditato da Object)
Dispose(Boolean)

Usato per registrare audio e video.

(Ereditato da Object)
Equals(Object)

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

(Ereditato da Object)
GetHashCode()

Restituisce un valore del 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 monitoraggio di questo oggetto.

(Ereditato da Object)
Pause()

Sospende la registrazione.

Prepare()

Prepara il registratore per iniziare a acquisire e codificare i dati.

RegisterAudioRecordingCallback(IExecutor, AudioManager+AudioRecordingCallback)

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

Release()

Rilascia le risorse associate a questo oggetto MediaRecorder.

RemoveOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener)

Rimuove un AudioRouting.OnRoutingChangedListener oggetto aggiunto in precedenza per ricevere le 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 della codifica audio per la registrazione.

SetAudioProfile(EncoderProfiles+AudioProfile)

Usa le impostazioni di un 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 android.hardware.Camera oggetto 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 usare quando viene raggiunto il numero massimo di file nell'output #setOutputFile precedente o #setNextOutputFile.

SetNextOutputFile(FileDescriptor)

Imposta il descrittore di file di output successivo da utilizzare 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 di 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 prodotto durante la registrazione.

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 oggetto Surface per visualizzare un'anteprima dei supporti registrati (video).

SetProfile(CamcorderProfile)

Utilizza 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>()

Usato per registrare audio e video.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione in formato 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()

Usato per registrare audio e video.

(Ereditato da Object)
Wait()

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

(Ereditato da Object)
Wait(Int64)

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

(Ereditato da Object)
Wait(Int64, Int32)

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

(Ereditato da Object)

Eventi

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

IJavaPeerable.Disposed()

Usato per registrare audio e video.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Usato per registrare audio e video.

(Ereditato da Object)
IJavaPeerable.Finalized()

Usato per registrare audio e video.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Usato per registrare audio e video.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Usato per registrare audio e video.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Usato per registrare audio e video.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Usato per registrare audio e video.

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo verificato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Usato per registrare audio e video.

GetJniTypeName(IJavaPeerable)

Usato per registrare audio e video.

Si applica a