Problem Statement:
I am working on a project where I want to stream audio from a customized Android app to the nRF5340 Audio DK over Bluetooth Low Energy (BLE). The nRF5340 Audio DK supports LC3 codec for efficient BLE audio streaming, but I am facing the following challenges:
-
Mobile App to nRF5340 Audio DK Streaming:
- I am developing the app in Flutter and need to send audio (preferably PCM data) from the mobile to the nRF5340 Audio DK.
- I understand that LC3 codec is crucial for reducing the data rate in BLE audio transmissions, but Flutter does not natively support LC3 encoding, and I am uncertain how to implement it on the mobile side.
- My goal is to leverage the LC3 codec on the nRF5340 Audio DK for efficient audio streaming, but I need guidance on how to achieve this with the mobile app.
-
Data Rate Concerns:
- I previously attempted to implement BLE audio streaming using nRF52840 DK, but it did not work due to BLE's limited data rate when sending uncompressed PCM data.
- My understanding is that LC3 encoding should happen before the BLE transmission to ensure that the audio stream fits within BLE’s limited bandwidth, but I don’t know how to handle the LC3 codec on the mobile app side.
- Without LC3, I believe I will face the same data rate limitations as with the nRF52840.
-
Seeking a Solution:
- Is there any recommended approach for implementing LC3 encoding on the mobile side (in Android) or ensuring that audio can be streamed efficiently over BLE to the nRF5340 Audio DK?
- If LC3 encoding is handled only on the nRF5340 Audio DK side, will it still provide the data rate advantages, or does the mobile app need to perform the encoding before transmission?
- Are there any existing libraries or tools that can help me perform LC3 encoding on Android before sending audio over BLE?
Request for Examples:
If anyone has successfully implemented BLE audio streaming from an Android app to the nRF5340 Audio DK or a similar setup (with or without LC3 encoding on the mobile side), I would greatly appreciate any guidance, links, or example projects you can share.