@@ -224,6 +224,24 @@ const mp_obj_property_t audiomp3_mp3file_channel_count_obj = {
224224 (mp_obj_t )& mp_const_none_obj },
225225};
226226
227+ //| .. attribute:: rms_level
228+ //|
229+ //| The RMS audio level of a recently played moment of audio. (read only)
230+ //|
231+ STATIC mp_obj_t audiomp3_mp3file_obj_get_rms_level (mp_obj_t self_in ) {
232+ audiomp3_mp3file_obj_t * self = MP_OBJ_TO_PTR (self_in );
233+ check_for_deinit (self );
234+ return mp_obj_new_float (common_hal_audiomp3_mp3file_get_rms_level (self ));
235+ }
236+ MP_DEFINE_CONST_FUN_OBJ_1 (audiomp3_mp3file_get_rms_level_obj , audiomp3_mp3file_obj_get_rms_level );
237+
238+ const mp_obj_property_t audiomp3_mp3file_rms_level_obj = {
239+ .base .type = & mp_type_property ,
240+ .proxy = {(mp_obj_t )& audiomp3_mp3file_get_rms_level_obj ,
241+ (mp_obj_t )& mp_const_none_obj ,
242+ (mp_obj_t )& mp_const_none_obj },
243+ };
244+
227245
228246STATIC const mp_rom_map_elem_t audiomp3_mp3file_locals_dict_table [] = {
229247 // Methods
@@ -236,6 +254,7 @@ STATIC const mp_rom_map_elem_t audiomp3_mp3file_locals_dict_table[] = {
236254 { MP_ROM_QSTR (MP_QSTR_sample_rate ), MP_ROM_PTR (& audiomp3_mp3file_sample_rate_obj ) },
237255 { MP_ROM_QSTR (MP_QSTR_bits_per_sample ), MP_ROM_PTR (& audiomp3_mp3file_bits_per_sample_obj ) },
238256 { MP_ROM_QSTR (MP_QSTR_channel_count ), MP_ROM_PTR (& audiomp3_mp3file_channel_count_obj ) },
257+ { MP_ROM_QSTR (MP_QSTR_rms_level ), MP_ROM_PTR (& audiomp3_mp3file_rms_level_obj ) },
239258};
240259STATIC MP_DEFINE_CONST_DICT (audiomp3_mp3file_locals_dict , audiomp3_mp3file_locals_dict_table );
241260
0 commit comments