ໝາຍເຫດ: ອັນນີ້ແມ່ນຜູ້ຂຽນ ໄດ້ຂຽນໄວ້ກັນລືມໃນກໍລະນີເທື່ອຕໍ່ໆໄປທີ່ເຈິບັນຫາແບບນີ້ອີກ, ໃນນີ້ເນື້ອຫາຈະກ່ຽວກັບບັນຫາທີ່ເຈິມາເອງລະຫວ່າງ Dev ແອັບກ່ຽວກັບການບັນທຶກສຽງ ລະຫວ່າງ platform Android & iOS ດ້ວຍ plugin Record ແລ້ວຫຼິ້ນສຽງດ້ວຍ just_audio
https://pub.dev/packages/record
https://pub.dev/packages/just_audio
ບັນຫາທີ່ເຈີ: ເວລາ record ຈາກ Android ແລ້ວສົ່ງຫາ iOS ອຸປະກອນ iOS ບໍ່ສາມາດຟັງໄຟລ໌ສຽງໄດ້ ແຕ່ iOS ສົ່ງຫາ iOS ໄດ້ປົກກະຕິ ແລະ iOS ສົ່ງຫາ Android ເຄື່ອງ Android ກໍ່ສາມາດຟັງໄດ້ປົກກະຕິ
ສາເຫດ: (ທີ່ຄິດວ່າແມ່ນ ຫະຫະ)
- ໂຕ default Encoder ຂອງ plugin Record ນີ້ຕັ້ງຄ່າໃຫ້ເປັນ AudioEncoder.aacLc, Android ບາງລຸ້ນ encode aac ໄປແລ້ວ iOS ບໍ່ສາມາດອ່ານ File ໂດຍໃຊ້ກັບ Plugin just_audio
/// Audio recorder API
class Record implements RecordPlatform {
StreamController<Amplitude>? _amplitudeStreamCtrl;
Timer? _amplitudeTimer;
@override
Future<void> start({
String? path,
AudioEncoder encoder = AudioEncoder.aacLc,
int bitRate = 128000,
int samplingRate = 44100,
int numChannels = 2,
InputDevice? device,
}) {
_log('Start recording');
return RecordPlatform.instance.start(
path: path,
encoder: encoder,
bitRate: bitRate,
samplingRate: samplingRate,
numChannels: numChannels,
device: device,
);
}
...
ທີ່ໄດ້ແກ້ໄຂໄປ: ໃສ່ AudioEncoder.wav ຕອນ start record ໄປເລີຍ (ເນື່ອງຈາກຈຳເປັນແກ້ຂັດໄປກ່ອນ)
...
await audioRecorder.start(
path: audioPath,
encoder: AudioEncoder.wav,
);
...
ສະຫຼຸບ: ບັນຫານີ້ຈະຄ້າຍໆກໍລະນີດຽວກັນກັບ plugin audio_waveforms issue #113
https://github.com/SimformSolutionsPvtLtd/audio_waveforms/issues/113
ຂຽນໂດຍ: Noy Sengxayya