Я немного в отчаянии.
Кажется, I2S не работает.
Если я пытаюсь воспроизвести звук с audioTrack.В Raspberry Pi 3 он работает без проблем, но если я выполню его в imx7d, он выдаст мне следующую ошибку:
audio_hw_primary: карта 0, порт 0 устройства 0x1000000
audio_hw_primary: скорость 48000, канал 2, размер_ периода 0xc0
audio_hw_primary: невозможно открыть драйвер pcm_out 0: невозможно установить параметры hw: неверный аргумент
То же самое происходит с микрофоном i2s
Это код:
final AudioDeviceInfo audioOuputDevice = findAudioDevice(AudioManager.GET_DEVICES_OUTPUTS, AudioDeviceInfo.TYPE_BUS);
int mBufferSize = AudioTrack.getMinBufferSize(44100, AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_16BIT);
AudioFormat audioOutputFormat = new AudioFormat.Builder()
.setChannelMask(AudioFormat.CHANNEL_IN_MONO)
.setEncoding(AudioFormat.ENCODING_PCM_16BIT)
.setSampleRate(44100)
.build();
audioTrack = new AudioTrack.Builder()
.setAudioFormat(audioOutputFormat)
.setBufferSizeInBytes(mBufferSize * 2)
.setTransferMode(AudioTrack.MODE_STREAM)
.build();
audioTrack.setPreferredDevice(audioOuputDevice);
audioTrack.setPlaybackRate(44100);
audioTrack.setVolume(AudioTrack.getMaxVolume());