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 和/或 #setOnErrorListener(OnErrorListener)
setOnErrorListener) #setOnInfoListener(OnInfoListener)
设置适当的侦听器来注册此类事件。 为了接收与这些侦听器关联的相应回调,应用程序需要在线程上创建 MediaRecorder 对象,该线程运行 (main UI 线程默认已具有运行) 的 Looper。
<strong>注意:</strong> 目前,MediaRecorder 在模拟器上不起作用。
<div class=“special reference”><h3>开发人员指南</h3>
有关如何使用 MediaRecorder 录制视频的详细信息,请阅读 相机 开发人员指南。 有关如何使用 MediaRecorder 录制声音的详细信息,请阅读 音频捕获 开发人员指南。
</Div>
的 android.media.MediaRecorder
Java 文档。
此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。
构造函数
MediaRecorder() |
默认构造函数。 |
MediaRecorder(Context) |
默认构造函数。 |
MediaRecorder(IntPtr, JniHandleOwnership) |
创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。 |
字段
MediaErrorServerDied |
已过时.
媒体服务器已死亡。 |
MediaRecorderErrorUnknown |
已过时.
未指定的媒体记录器错误。 |
属性
ActiveMicrophones |
返回表示活动麦克风的列表 |
ActiveRecordingConfiguration |
返回此录音机的当前活动音频录制。 |
AudioSourceMax |
获取音频源的最大值。 |
Class |
返回此 |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
JniIdentityHashCode |
用于录制音频和视频。 (继承自 Object) |
JniPeerMembers |
用于录制音频和视频。 |
LogSessionId |
返回 |
MaxAmplitude |
返回自上次调用此方法以来采样的最大绝对振幅。 |
Metrics |
返回有关当前 Mediarecorder 实例的指标数据。 |
PeerReference |
用于录制音频和视频。 (继承自 Object) |
PreferredDevice |
返回指定的 |
PrivacySensitive |
返回此 MediaRecorder 是否在音频捕获方面标记为隐私敏感。 - 或 - 指示此捕获请求对隐私敏感,不允许任何并发捕获。 |
RoutedDevice |
返回一个 |
Surface |
获取在使用 SURFACE 视频源时要从中录制的图面。 |
ThresholdClass |
此 API 支持 Mono for Android 基础结构,不应直接从代码使用。 |
ThresholdType |
此 API 支持 Mono for Android 基础结构,不应直接从代码使用。 |
方法
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) |
指定通过 |
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 <通知/em> 或 <em>interrupted</em>。<> (继承自 Object) |
Wait(Int64) |
导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<> (继承自 Object) |
Wait(Int64, Int32) |
导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</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) |
用于录制音频和视频。 |