Sprache

MediaRecorder Klasse

Definition

Wird zum Aufzeichnen von Audio und Video verwendet.

[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
Vererbung
MediaRecorder
Attribute
Implementiert

Hinweise

Wird zum Aufzeichnen von Audio und Video verwendet. Das Aufzeichnungssteuerelement basiert auf einem einfachen Zustandsautomaten (siehe unten).

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

Ein gängiger Fall für die Verwendung von MediaRecorder zum Aufzeichnen von Audio funktioniert wie folgt:

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

Anwendungen können sich für Informations- und Fehlerereignisse registrieren, um bei der Aufzeichnung über einige interne Update- und mögliche Laufzeitfehler informiert zu werden. Die Registrierung für solche Ereignisse erfolgt durch Festlegen der entsprechenden Listener (über Aufrufe (zum #setOnInfoListener(OnInfoListener)Festlegen vonOnInfoListener und/oder #setOnErrorListener(OnErrorListener)setOnErrorListener). Um den entsprechenden Rückruf zu empfangen, der diesen Listenern zugeordnet ist, müssen Anwendungen MediaRecorder-Objekte in Threads erstellen, bei denen ein Looper ausgeführt wird (der Haupt-UI-Thread wird standardmäßig bereits ein Looper ausgeführt).

<strong>Hinweis:</strong> Derzeit funktioniert MediaRecorder nicht im Emulator.

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

Weitere Informationen zur Verwendung von MediaRecorder zum Aufzeichnen von Videos finden Sie im Entwicklerhandbuch für Kamera . Weitere Informationen zur Verwendung von MediaRecorder zum Aufzeichnen von Sound finden Sie im Entwicklerhandbuch für die Audioaufnahme .

</div>

Java Dokumentation für android.media.MediaRecorder.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

Name Beschreibung
MediaRecorder()

Der Standardkonstruktor.

MediaRecorder(Context)

Der Standardkonstruktor.

MediaRecorder(IntPtr, JniHandleOwnership)

Ein Konstruktor, der beim Erstellen verwalteter Darstellungen von JNI-Objekten verwendet wird; wird von der Laufzeit aufgerufen.

Felder

Name Beschreibung
MediaErrorServerDied
Veraltet.

Der Medienserver ist verstorben.

MediaRecorderErrorUnknown
Veraltet.

Nicht angegebener Medienrekorderfehler.

Eigenschaften

Name Beschreibung
ActiveMicrophones

Gibt eine Liste zurück, in der MicrophoneInfo die aktiven Mikrofone dargestellt werden.

ActiveRecordingConfiguration

Gibt die aktuelle aktive Audioaufzeichnung für diesen Audiorekorder zurück.

AudioSourceMax

Ruft den Maximalwert für Audioquellen ab.

Class

Gibt die Laufzeitklasse dieses Werts Objectzurück.

(Geerbt von Object)
Handle

Das Handle für die zugrunde liegende Android-Instanz.

(Geerbt von Object)
JniIdentityHashCode

Ruft den Identitätshashcode ab, der diesem Java Peer von der Interop-Laufzeit zugewiesen ist.

(Geerbt von Object)
JniManagedPeerState

Wird zum Aufzeichnen von Audio und Video verwendet.

(Geerbt von JavaObject)
JniPeerMembers

Wird zum Aufzeichnen von Audio und Video verwendet.

LogSessionId

Gibt den LogSessionId Wert für MediaRecorder zurück. -or- Legt den LogSessionId für MediaRecorder fest.

MaxAmplitude

Gibt die maximale absolute Amplitude zurück, die seit dem letzten Aufruf dieser Methode entnommen wurde.

Metrics

Gibt Metrikdaten zur aktuellen Mediarecorder-Instanz zurück.

PeerReference

Ruft den JNI-Objektverweis für diesen Java Peer ab.

(Geerbt von Object)
PreferredDevice

Gibt das ausgewählte Eingabegerät zurück, das durch #setPreferredDevice.

PrivacySensitive

Gibt zurück, ob dieser MediaRecorder als datenschutzempfindlich gekennzeichnet ist oder nicht in Bezug auf die Audioaufnahme. -oder- Gibt an, dass diese Erfassungsanforderung datenschutzsensitiv ist und dass alle gleichzeitigen Erfassungen nicht zulässig sind.

RoutedDevice

Gibt ein AudioDeviceInfo Identifizieren des aktuellen Routings dieser MediaRecorder-Notiz zurück: Die Abfrage ist nur gültig, wenn der MediaRecorder zurzeit aufgezeichnet wird.

RoutedDevices

Gibt eine Liste der AudioDeviceInfo Identifizierung des aktuellen Routings dieses MediaRecorder zurück.

Surface

Ruft die Oberfläche ab, die bei Verwendung der SURFACE-Videoquelle erfasst werden soll.

ThresholdClass

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

ThresholdType

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

Methoden

Name Beschreibung
AddOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener, Handler)

Fügt einen AudioRouting.OnRoutingChangedListener Zum Empfangen von Benachrichtigungen über Routingänderungen in diesem MediaRecorder hinzu.

Clone()

Erstellt und gibt eine Kopie dieses Objekts zurück.

(Geerbt von Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Wird zum Aufzeichnen von Audio und Video verwendet.

(Geerbt von JavaObject)
Dispose()

Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden.

(Geerbt von Object)
Dispose(Boolean)

Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden.

(Geerbt von Object)
DisposeUnlessReferenced()

Wird zum Aufzeichnen von Audio und Video verwendet.

(Geerbt von JavaObject)
Equals(Object)

Wird zum Aufzeichnen von Audio und Video verwendet.

(Geerbt von JavaObject)
Equals(Object)

Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist.

(Geerbt von Object)
GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von Object)
JavaFinalize()

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind.

(Geerbt von Object)
Notify()

Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet.

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten.

(Geerbt von Object)
Pause()

Hält die Aufzeichnung an.

Prepare()

Bereitet den Recorder auf den Beginn der Erfassung und Codierung von Daten vor.

RegisterAudioRecordingCallback(IExecutor, AudioManager+AudioRecordingCallback)

Registrieren Sie einen Rückruf, um über Änderungen an der Audioaufnahme über ein AudioManager.AudioRecordingCallback.

Release()

Gibt Ressourcen frei, die diesem MediaRecorder-Objekt zugeordnet sind.

RemoveOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener)

Entfernt ein AudioRouting.OnRoutingChangedListener Element, das zuvor hinzugefügt wurde, um Benachrichtigungen umzuleiten.

Reset()

Startet den MediaRecorder in den Leerlaufzustand neu.

Resume()

Setzt die Aufzeichnung fort.

SetAudioChannels(Int32)

Legt die Anzahl der Audiokanäle für die Aufzeichnung fest.

SetAudioEncoder(AudioEncoder)

Legt den Audio-Encoder fest, der für die Aufzeichnung verwendet werden soll.

SetAudioEncodingBitRate(Int32)

Legt die Bitrate der Audiocodierung für die Aufzeichnung fest.

SetAudioProfile(EncoderProfiles+AudioProfile)

Verwendet die Einstellungen aus einem AudioProfile für die Aufzeichnung.

SetAudioSamplingRate(Int32)

Legt die Audiosamplingrate für die Aufzeichnung fest.

SetAudioSource(AudioSource)

Legt die Audioquelle fest, die für die Aufzeichnung verwendet werden soll.

SetAuxiliaryOutputFile(FileDescriptor)
Veraltet.

Derzeit nicht implementiert.

SetAuxiliaryOutputFile(String)
Veraltet.

Derzeit nicht implementiert.

SetCamera(Camera)
Veraltet.

Legt fest, dass für android.hardware.Camera die Aufzeichnung verwendet werden soll.

SetCaptureRate(Double)

Legen Sie die Videoframeaufnahmerate fest.

SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Object)
SetInputSurface(Surface)

Konfiguriert den Recorder so, dass bei Verwendung der SURFACE-Videoquelle eine persistente Oberfläche verwendet wird.

SetLocation(Single, Single)

Legen Sie die Geodaten (Breiten- und Längengrad) in der Ausgabedatei fest, und speichern Sie sie.

SetMaxDuration(Int32)

Legt die maximale Dauer (in ms) der Aufzeichnungssitzung fest.

SetMaxFileSize(Int64)

Legt die maximale Dateigröße (in Byte) der Aufzeichnungssitzung fest.

SetNextOutputFile(File)

Legt die nächste Ausgabedatei fest, die verwendet werden soll, wenn die maximale Dateigröße für die vorherige Ausgabe #setOutputFile erreicht wird oder #setNextOutputFile).

SetNextOutputFile(FileDescriptor)

Legt den nächsten Ausgabedateideskriptor fest, der verwendet werden soll, wenn die maximale Dateigröße für die vorherige Ausgabe #setOutputFile erreicht wird oder #setNextOutputFile).

SetOnErrorListener(MediaRecorder+IOnErrorListener)

Registrieren Sie einen Rückruf, der aufgerufen werden soll, wenn beim Aufzeichnen ein Fehler auftritt.

SetOnInfoListener(MediaRecorder+IOnInfoListener)

Registrieren Sie einen Rückruf, der aufgerufen werden soll, wenn während der Aufzeichnung ein Informationsereignis auftritt.

SetOrientationHint(Int32)

Legt den Ausrichtungshinweis für die Ausgabevideowiedergabe fest.

SetOutputFile(File)

Übergeben Sie das zu schreibende Dateiobjekt.

SetOutputFile(FileDescriptor)

Übergeben Sie den Dateideskriptor der zu schreibenden Datei.

SetOutputFile(String)

Legt den Pfad der zu erstellenden Ausgabedatei fest.

SetOutputFormat(OutputFormat)

Legt das Format der Ausgabedatei fest, die während der Aufzeichnung erstellt wurde.

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Wird zum Aufzeichnen von Audio und Video verwendet.

(Geerbt von JavaObject)
SetPreferredDevice(AudioDeviceInfo)

Gibt ein Audiogerät (über ein AudioDeviceInfo Objekt) an, um die Eingabe von diesem MediaRecorder weiterzuleiten.

SetPreferredMicrophoneDirection(MicDirection)

Gibt das logische Mikrofon (für die Verarbeitung) an.

SetPreferredMicrophoneFieldDimension(Single)

Gibt den Zoomfaktor (i.

SetPreviewDisplay(Surface)

Legt einen Surface fest, um eine Vorschau aufgezeichneter Medien (Video) anzuzeigen.

SetProfile(CamcorderProfile)

Verwendet die Einstellungen eines Browsersprofile-Objekts für die Aufzeichnung.

SetVideoEncoder(VideoEncoder)

Legt den Video-Encoder fest, der für die Aufzeichnung verwendet werden soll.

SetVideoEncodingBitRate(Int32)

Legt die Bitrate der Videocodierung für die Aufzeichnung fest.

SetVideoEncodingProfileLevel(MediaCodecProfileType, Int32)

Legt das gewünschte Videocodierungsprofil und die gewünschte Ebene für die Aufzeichnung fest.

SetVideoFrameRate(Int32)

Legt die Bildfrequenz des zu erfassenden Videos fest.

SetVideoProfile(EncoderProfiles+VideoProfile)

Verwendet die Einstellungen eines VideoProfile-Objekts für die Aufzeichnung.

SetVideoSize(Int32, Int32)

Legt die Breite und Höhe des zu erfassenden Videos fest.

SetVideoSource(VideoSource)

Legt die Videoquelle fest, die für die Aufzeichnung verwendet werden soll.

Start()

Beginnt mit dem Erfassen und Codieren von Daten in der mit setOutputFile() angegebenen Datei.

Stop()

Beendet die Aufzeichnung.

ToArray<T>()

Erstellt ein verwaltetes Array aus diesem Java Arraywrapper.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung des Objekts zurück.

(Geerbt von Object)
UnregisterAudioRecordingCallback(AudioManager+AudioRecordingCallback)

Heben Sie die Registrierung eines Audioaufzeichnungsrückrufs auf, der zuvor bei #registerAudioRecordingCallback(Executor, AudioManager.AudioRecordingCallback).

UnregisterFromRuntime()

Hebt die Registrierung dieses Java Peers aus der Interop-Laufzeit auf.

(Geerbt von Object)
Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em< oder >em<unterbrochen>/em<.><>

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)

Ereignisse

Name Beschreibung
Error

Wird zum Aufzeichnen von Audio und Video verwendet.

Info

Wird zum Aufzeichnen von Audio und Video verwendet.

RoutingChanged

Wird zum Aufzeichnen von Audio und Video verwendet.

Explizite Schnittstellenimplementierungen

Name Beschreibung
IJavaPeerable.Disposed()

Wird zum Aufzeichnen von Audio und Video verwendet.

(Geerbt von JavaObject)
IJavaPeerable.Finalized()

Wird zum Aufzeichnen von Audio und Video verwendet.

(Geerbt von JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Wird zum Aufzeichnen von Audio und Video verwendet.

(Geerbt von JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Wird zum Aufzeichnen von Audio und Video verwendet.

(Geerbt von JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Wird zum Aufzeichnen von Audio und Video verwendet.

(Geerbt von JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Wird zum Aufzeichnen von Audio und Video verwendet.

(Geerbt von JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Wird zum Aufzeichnen von Audio und Video verwendet.

Erweiterungsmethoden

Name Beschreibung
GetJniTypeName(IJavaPeerable)

Ruft den JNI-Namen des Typs der Instanz selfab.

JavaAs<TResult>(IJavaPeerable)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Wird zum Aufzeichnen von Audio und Video verwendet.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

Gilt für: