MediaRecorder Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| RoutedDevices |
Restituisce un elenco di |
| 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 |
| 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 |
| Release() |
Rilascia le risorse associate a questo oggetto MediaRecorder. |
| RemoveOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener) |
Rimuove un oggetto |
| 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 |
| 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 |
| SetNextOutputFile(FileDescriptor) |
Imposta il descrittore del file di output successivo da usare quando viene raggiunto il numero massimo di file nell'output |
| 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 |
| 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 |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| 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 |