diff --git a/bumble/profiles/asha_service.py b/bumble/profiles/asha_service.py index eece39b..c44e8a0 100644 --- a/bumble/profiles/asha_service.py +++ b/bumble/profiles/asha_service.py @@ -56,13 +56,13 @@ class AshaService(TemplateService): self.hisyncid = hisyncid self.capability = capability # Device Capabilities [Left, Monaural] self.device = device - self.emitted_data_name = 'ASHA_data_' + str(self.capability) self.audio_out_data = b'' self.psm = psm # a non-zero psm is mainly for testing purpose # Handler for volume control def on_volume_write(_connection, value): logger.info(f'--- VOLUME Write:{value[0]}') + self.emit('volume', value[0]) # Handler for audio control commands def on_audio_control_point_write(_connection, value): @@ -77,8 +77,18 @@ class AshaService(TemplateService): f'volume={value[3]}, ' f'otherstate={value[4]}' ) + self.emit( + 'start', + { + 'codec': value[1], + 'audiotype': value[2], + 'volume': value[3], + 'otherstate': value[4], + }, + ) elif opcode == AshaService.OPCODE_STOP: logger.info('### STOP') + self.emit('stop') elif opcode == AshaService.OPCODE_STATUS: logger.info(f'### STATUS: connected={value[1]}') @@ -131,7 +141,7 @@ class AshaService(TemplateService): def on_data(data): logging.debug(f'<<< data received:{data}') - self.emit(self.emitted_data_name, data) + self.emit('data', data) self.audio_out_data += data channel.sink = on_data