【发布时间】:2021-08-12 16:21:50
【问题描述】:
在 JNI 级别访问 AudioRecord.Builder 的正确方法是什么?
类似于AudioRecord 类。
(jclass)jni_env->NewGlobalRef(jni_env->FindClass("android/media/AudioRecord"));
例如:
AudioRecord recorder = new AudioRecord.Builder()
.setAudioSource(MediaRecorder.AudioSource.VOICE_COMMUNICATION)
.setAudioFormat(new AudioFormat.Builder()
.setEncoding(AudioFormat.ENCODING_PCM_16BIT)
.setSampleRate(32000)
.setChannelMask(AudioFormat.CHANNEL_IN_MONO)
.build())
.setBufferSizeInBytes(2*minBuffSize)
.build();
【问题讨论】:
-
目的是什么?或者你想要达到什么目的,为什么?这有助于我们回答问题,目前,就像您只是想要另一种在 Java 中设置某些东西但使用 JNI 的方式,除了这样做是为了好玩之外,几乎没有其他意义。 JNI 访问本机库等,因此您不能像您期望的那样简单地将 java 代码更改为等效的 JNI。但是,您又想从中获得什么?
-
我正在尝试在 JNI 获取 AudioRecord 实例并使用 AudioRecord.Builder#setPrivacySensitive(boolean) API .. 类似于 -- >> github.com/r3gis3r/CSipSimple/blob/…
-
请看我更新的答案
标签: java android java-native-interface audiorecord