MediaRecorder 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오디오 및 비디오를 녹음하는 데 사용됩니다.
[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
- 상속
- 특성
- 구현
설명
오디오 및 비디오를 녹음하는 데 사용됩니다. 기록 컨트롤은 간단한 상태 컴퓨터를 기반으로 합니다(아래 참조).
<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 개체를 만들어야 합니다(기본적으로 기본 UI 스레드에는 이미 루퍼가 실행 중임).
<strong>Note:</strong> 현재 MediaRecorder는 에뮬레이터에서 작동하지 않습니다.
<div class="special reference"><h3>Developer Guides</h3>
비디오 녹화에 MediaRecorder를 사용하는 방법에 대한 자세한 내용은 카메라 개발자 가이드를 참조하세요. 소리 녹음에 MediaRecorder를 사용하는 방법에 대한 자세한 내용은 오디오 캡처 개발자 가이드를 참조하세요.
</Div>
에 대한 Java 설명서입니다 android.media.MediaRecorder
.
이 페이지의 일부는 만들고 공유하며 에 설명된 용어에 따라 사용되는 작업을 기반으로 수정됩니다.
생성자
MediaRecorder() |
기본 생성자입니다. |
MediaRecorder(Context) |
기본 생성자입니다. |
MediaRecorder(IntPtr, JniHandleOwnership) |
JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다. |
필드
MediaErrorServerDied |
사용되지 않음.
미디어 서버가 사망했습니다. |
MediaRecorderErrorUnknown |
사용되지 않음.
지정되지 않은 미디어 레코더 오류입니다. |
속성
ActiveMicrophones |
활성 마이크를 나타내는 목록 |
ActiveRecordingConfiguration |
이 오디오 레코더의 현재 활성 오디오 녹음을 반환합니다. |
AudioSourceMax |
오디오 원본의 최대값을 가져옵니다. |
Class |
이 |
Handle |
기본 Android instance 대한 핸들입니다. (다음에서 상속됨 Object) |
JniIdentityHashCode |
오디오 및 비디오를 녹음하는 데 사용됩니다. (다음에서 상속됨 Object) |
JniPeerMembers |
오디오 및 비디오를 녹음하는 데 사용됩니다. |
LogSessionId |
MediaRecorder에 대한 를 |
MaxAmplitude |
이 메서드에 대한 마지막 호출 이후 샘플링된 최대 절대 진폭을 반환합니다. |
Metrics |
현재 Mediarecorder instance 대한 메트릭 데이터를 반환합니다. |
PeerReference |
오디오 및 비디오를 녹음하는 데 사용됩니다. (다음에서 상속됨 Object) |
PreferredDevice |
에서 지정한 선택한 입력 디바이스를 |
PrivacySensitive |
이 MediaRecorder가 오디오 캡처와 관련하여 개인 정보 보호에 민감한 것으로 표시되는지 여부를 반환합니다. -또는- 이 캡처 요청이 개인 정보에 민감하고 동시 캡처가 허용되지 않음을 나타냅니다. |
RoutedDevice |
|
Surface |
SURFACE 비디오 원본을 사용할 때 기록할 표면을 가져옵니다. |
ThresholdClass |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. |
ThresholdType |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. |
메서드
AddOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener, Handler) |
|
Clone() |
이 개체의 복사본을 만들고 반환합니다. (다음에서 상속됨 Object) |
Dispose() |
오디오 및 비디오를 녹음하는 데 사용됩니다. (다음에서 상속됨 Object) |
Dispose(Boolean) |
오디오 및 비디오를 녹음하는 데 사용됩니다. (다음에서 상속됨 Object) |
Equals(Object) |
다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다. (다음에서 상속됨 Object) |
GetHashCode() |
개체의 해시 코드 값을 반환합니다. (다음에서 상속됨 Object) |
JavaFinalize() |
가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다. (다음에서 상속됨 Object) |
Notify() |
이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다. (다음에서 상속됨 Object) |
NotifyAll() |
이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다. (다음에서 상속됨 Object) |
Pause() |
기록을 일시 중지합니다. |
Prepare() |
데이터 캡처 및 인코딩을 시작할 레코더를 준비합니다. |
RegisterAudioRecordingCallback(IExecutor, AudioManager+AudioRecordingCallback) |
를 통해 오디오 캡처 변경에 대한 알림을 받도록 콜백을 등록합니다 |
Release() |
이 MediaRecorder 개체와 연결된 리소스를 해제합니다. |
RemoveOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener) |
|
Reset() |
MediaRecorder를 유휴 상태로 다시 시작합니다. |
Resume() |
기록을 다시 시작합니다. |
SetAudioChannels(Int32) |
녹음을 위한 오디오 채널 수를 설정합니다. |
SetAudioEncoder(AudioEncoder) |
녹음에 사용할 오디오 인코더를 설정합니다. |
SetAudioEncodingBitRate(Int32) |
녹음/녹화를 위한 오디오 인코딩 비트 속도를 설정합니다. |
SetAudioProfile(EncoderProfiles+AudioProfile) |
녹음을 위해 AudioProfile의 설정을 사용합니다. |
SetAudioSamplingRate(Int32) |
녹음에 대한 오디오 샘플링 속도를 설정합니다. |
SetAudioSource(AudioSource) |
녹음에 사용할 오디오 원본을 설정합니다. |
SetAuxiliaryOutputFile(FileDescriptor) |
사용되지 않음.
현재 구현되지 않습니다. |
SetAuxiliaryOutputFile(String) |
사용되지 않음.
현재 구현되지 않습니다. |
SetCamera(Camera) |
사용되지 않음.
녹음/녹화에 사용할 을 |
SetCaptureRate(Double) |
비디오 프레임 캡처 속도를 설정합니다. |
SetHandle(IntPtr, JniHandleOwnership) |
Handle 속성을 설정합니다. (다음에서 상속됨 Object) |
SetInputSurface(Surface) |
SURFACE 비디오 원본을 사용할 때 영구 표면을 사용하도록 레코더를 구성합니다. |
SetLocation(Single, Single) |
출력 파일에 지오데이타(위도 및 경도)를 설정하고 저장합니다. |
SetMaxDuration(Int32) |
기록 세션의 최대 기간(밀리초)을 설정합니다. |
SetMaxFileSize(Int64) |
기록 세션의 최대 파일 크기(바이트)를 설정합니다. |
SetNextOutputFile(File) |
이전 출력 또는 |
SetNextOutputFile(FileDescriptor) |
이전 출력 또는 |
SetOnErrorListener(MediaRecorder+IOnErrorListener) |
기록하는 동안 오류가 발생할 때 호출할 콜백을 등록합니다. |
SetOnInfoListener(MediaRecorder+IOnInfoListener) |
기록하는 동안 정보 이벤트가 발생할 때 호출할 콜백을 등록합니다. |
SetOrientationHint(Int32) |
출력 비디오 재생에 대한 방향 힌트를 설정합니다. |
SetOutputFile(File) |
쓸 파일 개체를 전달합니다. |
SetOutputFile(FileDescriptor) |
쓸 파일의 파일 설명자를 전달합니다. |
SetOutputFile(String) |
생성할 출력 파일의 경로를 설정합니다. |
SetOutputFormat(OutputFormat) |
기록 중에 생성된 출력 파일의 형식을 설정합니다. |
SetPreferredDevice(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) |
이전에 에 등록된 오디오 녹음 콜백의 등록을 취소합니다 |
UnregisterFromRuntime() |
오디오 및 비디오를 녹음하는 데 사용됩니다. (다음에서 상속됨 Object) |
Wait() |
현재 스레드가 각성될 때까지 대기하도록 합니다. 일반적으로 <알림을<> 받>거나<<> 중단/em>합니다. (다음에서 상속됨 Object) |
Wait(Int64) |
현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다. (다음에서 상속됨 Object) |
Wait(Int64, Int32) |
현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>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) |
오디오 및 비디오를 녹음하는 데 사용됩니다. |