Source code for pyrokid_cxr_clientm.controllers.audio_controller

"""
com.rokid.cxr.client-m:1.0.4 - controllers/AudioController in Python

AudioController class allowed the mobile app to set communication device.
For Python its basically useless.
"""

from __future__ import annotations
from ..utils import LogUtil

[docs] class AudioController: """com.rokid.cxr.client.controllers.AudioController Java class in Python""" a = None # AudioManager """mAudioManager""" def __init__(self): LogUtil.i("AudioController", "AudioController constructed")
[docs] @staticmethod def getInstance() -> AudioController: LogUtil.v("AudioController", "getInstance") return _a.a
[docs] def setCommunicationDevice(self, context) -> None: LogUtil.i("AudioController", "setCommunicationDevice") return None #self.a = context.getSystemService("audio") # AudioManager self.a = None LogUtil.i("AudioController", "mAudioManager: %s", self.a) audioManager: AudioManager = this.a if audioManager is not None: #if Build.VERSION.SDK_INT < 31: # LogUtil.i("AudioController", "isBluetoothScoOn: %s", self.a.isBluetoothScoOn()) # self.a.setBluetoothScoOn(True) # self.a.startBluetoothSco() # return for audioDeviceInfo in audioManager.getDevices(2): if audioDeviceInfo.getType() == 7: LogUtil.i("AudioController", "product name: %s", audioDeviceInfo.getProductName()) self.a.setCommunicationDevice(audioDeviceInfo) return
[docs] def clearCommunicationDevice(self) -> None: LogUtil.i("AudioController", "clearCommunicationDevice") return None LogUtil.i("AudioController", "mAudioManager: %s", self.a) audioManager: AudioManager = self.a if audioManager is not None: #if Build.VERSION.SDK_INT >= 31: # audioManager.clearCommunicationDevice() #else: if False: LogUtil.i("AudioController", "isBluetoothScoOn: %s", self.a.isBluetoothScoOn()) self.a.setBluetoothScoOn(False) self.a.stopBluetoothSco() self.a = None
class _a: a = AudioController() __all__ = ['AudioController']