Share via


AudioRecord 类

定义

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

[Android.Runtime.Register("android/media/AudioRecord", DoNotGenerateAcw=true)]
public class AudioRecord : Java.Lang.Object, Android.Media.IAudioRecordingMonitor, Android.Media.IAudioRouting, Android.Media.IMicrophoneDirection, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/media/AudioRecord", DoNotGenerateAcw=true)>]
type AudioRecord = class
    inherit Object
    interface IAudioRecordingMonitor
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IAudioRouting
    interface IMicrophoneDirection
继承
AudioRecord
属性
实现

注解

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。 这是通过“拉取” (从 AudioRecord 对象读取) 数据来实现的。 应用程序负责使用以下三种方法之一及时轮询 AudioRecord 对象: #read(byte[],int, int)#read(short[], int, int)#read(ByteBuffer, int)。 选择使用哪种方法将基于对 AudioRecord 用户最方便的音频数据存储格式。

创建后,AudioRecord 对象初始化其关联的音频缓冲区,它将用新的音频数据填充该缓冲区。 此缓冲区的大小(在构造过程中指定)决定了 AudioRecord 在“过度运行”尚未读取的数据之前可以录制多长时间。 应从音频硬件读取数据,其大小应低于总录制缓冲区大小。

创建 AudioRecord 实例的应用程序需要android.Manifest.permission#RECORD_AUDIO或生成器将在 上android.media.AudioRecord.Builder#build build()引发java.lang.UnsupportedOperationException,并且构造函数将返回状态#STATE_UNINITIALIZED为 的实例。

android.media.AudioRecordJava 文档。

此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。

构造函数

AudioRecord(AudioSource, Int32, ChannelIn, Encoding, Int32)

类构造函数。

AudioRecord(IntPtr, JniHandleOwnership)

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

属性

ActiveMicrophones

返回表示活动麦克风的列表 MicrophoneInfo

ActiveRecordingConfiguration

返回此录音机的当前活动录音。

AudioFormat

返回配置的音频数据编码。

AudioSessionId

返回音频会话 ID。

AudioSource

返回音频录制源。

BufferSizeInFrames

返回本机 AudioRecord 缓冲区的帧计数。

ChannelConfiguration

返回配置的通道位置掩码。

ChannelCount

返回配置的通道数。

Class

返回此 Object的运行时类。

(继承自 Object)
Format

返回配置 AudioRecord 的格式。

Handle

基础 Android 实例的句柄。

(继承自 Object)
IsPrivacySensitive

返回此 AudioRecord 是否标记为隐私敏感。

JniIdentityHashCode

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

(继承自 Object)
JniPeerMembers

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

LogSessionId

返回 LogSessionId。 - 或 - 为指标集合的此 AudioRecord 设置 LogSessionId 实例。

Metrics

返回有关当前 AudioTrack 实例的指标数据。

NotificationMarkerPosition

返回以帧表示的通知标记位置。

PeerReference

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

(继承自 Object)
PositionNotificationPeriod

返回以帧表示的通知更新周期。

PreferredDevice

返回指定的 #setPreferredDevice选定输入。

RecordingState

返回 AudioRecord 实例的录制状态。

RoutedDevice

返回一个 AudioDeviceInfo ,该值标识此 AudioRecord 的当前路由。

SampleRate

返回配置的音频接收器采样率(以 Hz 为单位)。

State

返回 AudioRecord 实例的状态。

ThresholdClass

此 API 支持 Mono for Android 基础结构,不应直接从代码中使用。

ThresholdType

此 API 支持 Mono for Android 基础结构,不应直接从代码中使用。

方法

AddOnRoutingChangedListener(AudioRecord+IOnRoutingChangedListener, Handler)

添加 以 AudioRouting.OnRoutingChangedListener 接收此 AudioRecord 上的路由更改通知。

AddOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener, Handler)

添加 以 AudioRouting.OnRoutingChangedListener 接收此 AudioRecord 上的路由更改通知。

Clone()

创建并返回此对象的副本。

(继承自 Object)
Dispose()

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

(继承自 Object)
Dispose(Boolean)

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

(继承自 Object)
Equals(Object)

指示某个其他对象是否“等于”此对象。

(继承自 Object)
GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
GetMinBufferSize(Int32, ChannelIn, Encoding)

返回成功创建 AudioRecord 对象所需的最小缓冲区大小(以字节为单位)。

GetTimestamp(AudioTimestamp, AudioTimebase)

按需轮 AudioTimestamp 询 。

JavaFinalize()

当垃圾回收确定不再引用对象时,由垃圾回收器对对象调用。

(继承自 Object)
Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
Read(Byte[], Int32, Int32)

从音频硬件读取音频数据,以便录制到字节数组中。

Read(Byte[], Int32, Int32, Int32)

从音频硬件读取音频数据,以便录制到字节数组中。

Read(ByteBuffer, Int32)

从音频硬件读取音频数据,以便录制到直接缓冲区。

Read(ByteBuffer, Int32, Int32)

从音频硬件读取音频数据,以便录制到直接缓冲区。

Read(Int16[], Int32, Int32)

从音频硬件读取音频数据,以便录制到短数组中。

Read(Int16[], Int32, Int32, Int32)

从音频硬件读取音频数据,以便录制到短数组中。

Read(Single[], Int32, Int32, Int32)

从音频硬件读取音频数据,以便录制到浮点数组中。

ReadAsync(Byte[], Int32, Int32)

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

ReadAsync(Byte[], Int32, Int32, Int32)

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

ReadAsync(ByteBuffer, Int32)

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

ReadAsync(ByteBuffer, Int32, Int32)

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

ReadAsync(Int16[], Int32, Int32)

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

ReadAsync(Int16[], Int32, Int32, Int32)

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

ReadAsync(Single[], Int32, Int32, Int32)

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

RegisterAudioRecordingCallback(IExecutor, AudioManager+AudioRecordingCallback)

注册回调,以便通过 收到音频捕获更改的 AudioManager.AudioRecordingCallback通知。

Release()

释放本机 AudioRecord 资源。

RemoveOnRoutingChangedListener(AudioRecord+IOnRoutingChangedListener)

AudioRouting.OnRoutingChangedListener删除之前添加用于接收重新路由通知的 。

RemoveOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener)

AudioRouting.OnRoutingChangedListener删除之前添加用于接收重新路由通知的 。

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
SetNotificationMarkerPosition(Int32)

设置调用侦听器的标记位置(如果使用 或 #setRecordPositionUpdateListener(OnRecordPositionUpdateListener, Handler)进行设置#setRecordPositionUpdateListener(OnRecordPositionUpdateListener))。

SetPositionNotificationPeriod(Int32)

如果设置为 #setRecordPositionUpdateListener(OnRecordPositionUpdateListener)#setRecordPositionUpdateListener(OnRecordPositionUpdateListener, Handler),则设置调用侦听器的时间段。

SetPreferredDevice(AudioDeviceInfo)

指定通过 AudioDeviceInfo 对象 (音频设备,) 将输入路由到此 AudioRecord。

SetPreferredMicrophoneDirection(MicDirection)

指定用于处理) 的逻辑麦克风 (。

SetPreferredMicrophoneFieldDimension(Single)

指定缩放系数 (i。

SetRecordPositionUpdateListener(AudioRecord+IOnRecordPositionUpdateListener)

设置侦听器在达到之前设置的标记时或每次定期更新记录头位置时,AudioRecord 通知。

SetRecordPositionUpdateListener(AudioRecord+IOnRecordPositionUpdateListener, Handler)

设置侦听器在达到之前设置的标记时或每次定期更新记录头位置时,AudioRecord 通知。

StartRecording()

从 AudioRecord 实例开始录制。

StartRecording(MediaSyncEvent)

当指定的同步事件发生在指定的音频会话上时,从 AudioRecord 实例开始录制。

Stop()

停止录制。

ToArray<T>()

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterAudioRecordingCallback(AudioManager+AudioRecordingCallback)

取消注册以前向 注册的 #registerAudioRecordingCallback(Executor, AudioManager.AudioRecordingCallback)音频录制回调。

UnregisterFromRuntime()

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

(继承自 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)

事件

MarkerReached

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

PeriodicNotification

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

RoutingChanged

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

显式接口实现

IJavaPeerable.Disposed()

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

(继承自 Object)
IJavaPeerable.Finalized()

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

(继承自 Object)

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

GetJniTypeName(IJavaPeerable)

AudioRecord 类管理 Java 应用程序的音频资源,以便从平台的音频输入硬件录制音频。

适用于