MediaRecorder Класс

Определение

Используется для записи звука и видео.

[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
Наследование
MediaRecorder
Атрибуты
Реализации

Комментарии

Используется для записи звука и видео. Элемент управления записью основан на простом конечном автомате (см. ниже).

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

Распространенный случай использования MediaRecorder для записи звука работает следующим образом:

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

Приложения могут захотеть зарегистрироваться для получения информационных событий и событий ошибок, чтобы получать информацию о некоторых внутренних обновлениях и возможных ошибках среды выполнения во время записи. Регистрация для таких событий выполняется путем установки соответствующих прослушивателей (с помощью вызовов (для #setOnInfoListener(OnInfoListener)setOnInfoListener и /или #setOnErrorListener(OnErrorListener)setOnErrorListener). Чтобы получить соответствующий обратный вызов, связанный с этими прослушивателями, приложения должны создавать объекты MediaRecorder в потоках с запущенным looper (поток пользовательского интерфейса main по умолчанию уже имеет запущенный Looper).

<strong>Примечание.</strong> В настоящее время MediaRecorder не работает в эмуляторе.

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

Дополнительные сведения об использовании MediaRecorder для записи видео см. в руководстве разработчика По камере . Дополнительные сведения об использовании MediaRecorder для записи звука см. в руководстве разработчика По захвату звука .

</Div>

Документация по Java для android.media.MediaRecorder.

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License Creative Commons 2.5 Attribution License.

Конструкторы

MediaRecorder()

Конструктор по умолчанию.

MediaRecorder(Context)

Конструктор по умолчанию.

MediaRecorder(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

Поля

MediaErrorServerDied
Устаревшие..

Сервер мультимедиа умер.

MediaRecorderErrorUnknown
Устаревшие..

Неуказанная ошибка средства записи мультимедиа.

Свойства

ActiveMicrophones

Возвращает список , MicrophoneInfo представляющий активные микрофоны.

ActiveRecordingConfiguration

Возвращает текущую активную аудиозапись для этого аудиозаписи.

AudioSourceMax

Возвращает максимальное значение для источников звука.

Class

Возвращает класс среды выполнения данного объекта Object.

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
JniIdentityHashCode

Используется для записи звука и видео.

(Унаследовано от Object)
JniPeerMembers

Используется для записи звука и видео.

LogSessionId

Возвращает для LogSessionId MediaRecorder. -или- Задает LogSessionId для MediaRecorder.

MaxAmplitude

Возвращает максимальную абсолютную амплитуду, которая была выполнена с момента последнего вызова этого метода.

Metrics

Возвращает данные метрик о текущем экземпляре Mediarecorder.

PeerReference

Используется для записи звука и видео.

(Унаследовано от Object)
PreferredDevice

Возвращает выбранное устройство ввода, заданное параметром #setPreferredDevice.

PrivacySensitive

Возвращает значение, указывающее, помечается ли этот объект MediaRecorder как конфиденциальный в отношении записи звука. -или- Указывает, что этот запрос на сбор данных учитывает конфиденциальность и что одновременный захват не разрешен.

RoutedDevice

Возвращает объект , определяющий текущую AudioDeviceInfo маршрутизацию этого MediaRecorder Примечание. Запрос действителен только в том случае, если MediaRecorder в данный момент записывается.

Surface

Возвращает поверхность для записи при использовании источника видео SURFACE.

ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

Методы

AddOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener, Handler)

AudioRouting.OnRoutingChangedListener Добавляет для получения уведомлений об изменениях маршрутизации в этом MediaRecorder.

Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
Dispose()

Используется для записи звука и видео.

(Унаследовано от Object)
Dispose(Boolean)

Используется для записи звука и видео.

(Унаследовано от Object)
Equals(Object)

Указывает, равен ли какой-то другой объект этому объекту.

(Унаследовано от Object)
GetHashCode()

Возвращает значение хэш-кода для объекта.

(Унаследовано от Object)
JavaFinalize()

Вызывается сборщиком мусора для объекта , когда сборка мусора определяет, что больше нет ссылок на объект .

(Унаследовано от Object)
Notify()

Пробуждение одного потока, ожидающего на мониторе этого объекта.

(Унаследовано от Object)
NotifyAll()

Активирует все потоки, ожидающие на мониторе этого объекта.

(Унаследовано от Object)
Pause()

Приостанавливает запись.

Prepare()

Подготавливает средство записи к началу записи и кодирования данных.

RegisterAudioRecordingCallback(IExecutor, AudioManager+AudioRecordingCallback)

Зарегистрируйте обратный вызов, чтобы получать уведомления об изменениях записи звука с помощью AudioManager.AudioRecordingCallback.

Release()

Освобождает ресурсы, связанные с этим объектом MediaRecorder.

RemoveOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener)

Удаляет объект , AudioRouting.OnRoutingChangedListener который был ранее добавлен для получения уведомлений о перенаправлении.

Reset()

Перезапуск mediaRecorder в состояние простоя.

Resume()

Возобновляет запись.

SetAudioChannels(Int32)

Задает количество звуковых каналов для записи.

SetAudioEncoder(AudioEncoder)

Задает кодировщик звука, используемый для записи.

SetAudioEncodingBitRate(Int32)

Задает скорость кодирования звука для записи.

SetAudioProfile(EncoderProfiles+AudioProfile)

Использует параметры из AudioProfile для записи.

SetAudioSamplingRate(Int32)

Задает частоту дискретизации звука для записи.

SetAudioSource(AudioSource)

Задает источник звука, используемый для записи.

SetAuxiliaryOutputFile(FileDescriptor)
Устаревшие..

В настоящий момент не реализовано.

SetAuxiliaryOutputFile(String)
Устаревшие..

В настоящий момент не реализовано.

SetCamera(Camera)
Устаревшие..

Задает для android.hardware.Camera использования для записи.

SetCaptureRate(Double)

Задайте частоту захвата видеокадров.

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
SetInputSurface(Surface)

Настраивает средство записи для использования постоянной поверхности при использовании источника видео SURFACE.

SetLocation(Single, Single)

Задайте и сохраните геоданные (широту и долготу) в выходном файле.

SetMaxDuration(Int32)

Задает максимальную длительность (в мс) сеанса записи.

SetMaxFileSize(Int64)

Задает максимальный размер файла (в байтах) сеанса записи.

SetNextOutputFile(File)

Задает следующий выходной файл, который будет использоваться при достижении максимального размера файла в предыдущих выходных данных #setOutputFile или #setNextOutputFile).

SetNextOutputFile(FileDescriptor)

Задает дескриптор следующего выходного файла, который будет использоваться при достижении максимального размера файла в предыдущих выходных данных #setOutputFile или #setNextOutputFile).

SetOnErrorListener(MediaRecorder+IOnErrorListener)

Зарегистрируйте обратный вызов, который будет вызываться при возникновении ошибки во время записи.

SetOnInfoListener(MediaRecorder+IOnInfoListener)

Зарегистрируйте обратный вызов, который будет вызываться при возникновении информационного события во время записи.

SetOrientationHint(Int32)

Задает указание ориентации для воспроизведения выходного видео.

SetOutputFile(File)

Передайте файловый объект для записи.

SetOutputFile(FileDescriptor)

Передайте дескриптор файла для записи.

SetOutputFile(String)

Задает путь к создаваемому выходному файлу.

SetOutputFormat(OutputFormat)

Задает формат выходного файла, создаваемого во время записи.

SetPreferredDevice(AudioDeviceInfo)

Указывает звуковое устройство (через AudioDeviceInfo объект) для маршрутизации входных данных из этого MediaRecorder.

SetPreferredMicrophoneDirection(MicDirection)

Указывает логический микрофон (для обработки).

SetPreferredMicrophoneFieldDimension(Single)

Задает коэффициент масштабирования (i.

SetPreviewDisplay(Surface)

Задает surface для отображения предварительного просмотра записанного носителя (видео).

SetProfile(CamcorderProfile)

Использует параметры из объекта CamcorderProfile для записи.

SetVideoEncoder(VideoEncoder)

Задает кодировщик видео, используемый для записи.

SetVideoEncodingBitRate(Int32)

Задает скорость кодирования видео для записи.

SetVideoEncodingProfileLevel(MediaCodecProfileType, Int32)

Задает требуемый профиль кодирования видео и уровень для записи.

SetVideoFrameRate(Int32)

Задает частоту кадров захватываемого видео.

SetVideoProfile(EncoderProfiles+VideoProfile)

Использует параметры из объекта VideoProfile для записи.

SetVideoSize(Int32, Int32)

Задает ширину и высоту захватываемого видео.

SetVideoSource(VideoSource)

Задает источник видео, используемый для записи.

Start()

Начинает запись и кодирование данных в файл, указанный с помощью setOutputFile().

Stop()

Останавливает запись.

ToArray<T>()

Используется для записи звука и видео.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterAudioRecordingCallback(AudioManager+AudioRecordingCallback)

Отмена регистрации обратного вызова записи звука, ранее зарегистрированного в #registerAudioRecordingCallback(Executor, AudioManager.AudioRecordingCallback).

UnregisterFromRuntime()

Используется для записи звука и видео.

(Унаследовано от Object)
Wait()

Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления/><em> или <прерывания></em>.

(Унаследовано от Object)
Wait(Int64)

Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления</>em>, <>прерывания< или> em, либо до истечения определенного количества реального времени.

(Унаследовано от Object)
Wait(Int64, Int32)

Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления</>em>, <>прерывания< или> em, либо до истечения определенного количества реального времени.

(Унаследовано от Object)

События

Error

Используется для записи звука и видео.

Info

Используется для записи звука и видео.

RoutingChanged

Используется для записи звука и видео.

Явные реализации интерфейса

IJavaPeerable.Disposed()

Используется для записи звука и видео.

(Унаследовано от Object)
IJavaPeerable.DisposeUnlessReferenced()

Используется для записи звука и видео.

(Унаследовано от Object)
IJavaPeerable.Finalized()

Используется для записи звука и видео.

(Унаследовано от Object)
IJavaPeerable.JniManagedPeerState

Используется для записи звука и видео.

(Унаследовано от Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Используется для записи звука и видео.

(Унаследовано от Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Используется для записи звука и видео.

(Унаследовано от Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Используется для записи звука и видео.

(Унаследовано от Object)

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверенное средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Используется для записи звука и видео.

GetJniTypeName(IJavaPeerable)

Используется для записи звука и видео.

Применяется к