Usb I2S1错误:无法从仅输出设备读取(不允许操作)(代码1)
我对安卓有点陌生我在工作Usb I2S1错误:无法从仅输出设备读取(不允许操作)(代码1),usb,raspberry-pi3,microphone,android-things,Usb,Raspberry Pi3,Microphone,Android Things,我对安卓有点陌生我在工作 主要使用i2s adafruit话筒 也适用于典型的USB麦克风 在Raspberry pi上安装Android设备 Android文档说它从Preview 2开始就支持USB麦克风,但我找不到任何例子 所以我现在用的是i2s话筒,卡在这里了 代码 // I2S Device Name private static final String I2S_DEVICE_NAME = "I2S1"; private static final AudioFormat AUDI
// I2S Device Name
private static final String I2S_DEVICE_NAME = "I2S1";
private static final AudioFormat AUDIO_FORMAT_STEREO =
new AudioFormat.Builder()
.setChannelMask(AudioFormat.CHANNEL_IN_STEREO)
.setEncoding(AudioFormat.ENCODING_PCM_16BIT)
.setSampleRate(44100)
.build();
private I2sDevice mDevice;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String str = "";
// Attempt to access the I2C device
try {
PeripheralManagerService manager = new PeripheralManagerService();
mDevice = manager.openI2sDevice(I2S_DEVICE_NAME, AUDIO_FORMAT_STEREO, I2sDevice.PCM_FORMAT_16_BIT);
} catch (IOException e) {
Log.w(TAG, "Unable to access I2S device", e);
}
// Set up the audio playback sink
int bufferSize = AudioTrack.getMinBufferSize(
AUDIO_FORMAT_STEREO.getSampleRate(),
AUDIO_FORMAT_STEREO.getChannelMask(),
AUDIO_FORMAT_STEREO.getEncoding());
str += String.valueOf(bufferSize) + " ";
// Transfer data from input to output
ByteBuffer buffer = ByteBuffer.allocate(bufferSize);
try{
int read = mDevice.read(buffer, bufferSize);
str += String.valueOf(read);
} catch (IOException e) {
Log.w(TAG, "Unable to access I2S1 device", e);
}
TextView myText = (TextView) findViewById(R.id.mytextview);
myText.setText(str);
}
问题
第行:
mDevice.read()
安卓显示器说
I2S1错误:无法从仅输出设备读取(操作不正确
许可证(代码1)
我能得到任何帮助吗
Android文档说它从Preview 2开始就支持USB麦克风,但我找不到任何例子
USB麦克风会自动检测并设置为设备上的默认麦克风输入。您可以参考任何将音频源设置为的标准Android音频录制示例。作为一个例子,这里是
I2S1错误:无法从仅输出设备读取(不允许操作)(代码1)
您在代码中使用的是什么版本的Android Things support library?如果您不是最新版本(操作系统映像和库都是0.5.1版),我建议您先更新。您还可以尝试更改代码以使用openI2sDevice()
that的版本。您正在使用的版本在最新版本中已被弃用