forked from xiaozhi/xiaozhi-esp32
增加LilyGo T-Circle-S3和T-CameraPlus-S3的屏幕背光和低功耗模式 (#304)
* 增加LilyGo T-Circle-S3和T-CameraPlus-S3的屏幕背光和低功耗模式 * 增加LilyGo T-Circle-S3和T-CameraPlus-S3的屏幕背光和低功耗模式
This commit is contained in:
@@ -114,17 +114,13 @@ int Tcamerapluss3AudioCodec::Read(int16_t *dest, int samples){
|
||||
return samples;
|
||||
}
|
||||
|
||||
void AdjustTcamerapluss3Volume(const int16_t *input_data, int16_t *output_data, size_t samples, float volume){
|
||||
for (size_t i = 0; i < samples; i++){
|
||||
output_data[i] = (float)input_data[i] * volume;
|
||||
}
|
||||
}
|
||||
|
||||
int Tcamerapluss3AudioCodec::Write(const int16_t *data, int samples){
|
||||
if (output_enabled_){
|
||||
size_t bytes_read;
|
||||
auto output_data = (int16_t *)malloc(samples * sizeof(int16_t));
|
||||
AdjustTcamerapluss3Volume(data, output_data, samples, (float)(volume_ / 100.0));
|
||||
for (size_t i = 0; i < samples; i++){
|
||||
output_data[i] = (float)data[i] * (float)(volume_ / 100.0);
|
||||
}
|
||||
i2s_channel_write(tx_handle_, output_data, samples * sizeof(int16_t), &bytes_read, portMAX_DELAY);
|
||||
free(output_data);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user