MediaRecorder Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| RoutedDevices |
Gibt eine Liste der |
| 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 |
| 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 |
| Release() |
Gibt Ressourcen frei, die diesem MediaRecorder-Objekt zugeordnet sind. |
| RemoveOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener) |
Entfernt ein |
| 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 |
| 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 |
| SetNextOutputFile(FileDescriptor) |
Legt den nächsten Ausgabedateideskriptor fest, der verwendet werden soll, wenn die maximale Dateigröße für die vorherige Ausgabe |
| 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 |
| 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 |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Versuchen Sie, die Eingabe |
| 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 |