AudioService.h 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #ifndef AUDIOSERVICE_H
  2. #define AUDIOSERVICE_H
  3. #define AudioApplication QString("-audio")
  4. #define ArkMicroAudioService QString("com.arkmicro.audio")
  5. #define ArkMicroAudioPath QString("/com/arkmicro/audio")
  6. #define ArkMicroAudioInterface QString("Local.DbusServer.Audio")
  7. #define ArkMicroAudioRequest QString("requestAudioSource")
  8. #define ArkMicroAudioRelease QString("releaseAudioSource")
  9. //#define ArkMicroopen_amixer_mode QString("open_amixer_mode")
  10. #include "AudioServiceProxy.h"
  11. #include "AudioPersistent.h"
  12. #include <QObject>
  13. #include <QScopedPointer>
  14. typedef enum {
  15. UNKNOW_NAME = 0,
  16. AUDIO_PHONE_MUSIC = 1,
  17. AUDIO_PHONE_NAVI = 2,
  18. AUDIO_PHONE_TELL = 3,
  19. AUDIO_PHONE_TTS = 4,
  20. }AUDIO_STREAM_NAME;
  21. #define AUDIO_STREAM_NAME int
  22. typedef enum {
  23. CTRL_UNKNOW_NAME = 0,
  24. CTRL_PHONE_MUSIC = 1,
  25. CTRL_PHONE_NAVI = 2,
  26. CTRL_PHONE_TELL = 3,
  27. CTRL_PHONE_TTS = 4,
  28. }STREAM_CTRL_NAME;
  29. #define STREAM_CTRL_NAME int
  30. class AudioServicePrivate;
  31. class AudioService : private QObject
  32. {
  33. Q_OBJECT
  34. Q_DISABLE_COPY(AudioService)
  35. Q_CLASSINFO("D-Bus Interface", "Local.DbusServer.Audio")
  36. public:
  37. explicit AudioService(QObject* parent = NULL);
  38. ~AudioService();
  39. public slots:
  40. void requestAudioSource(const int source);
  41. void releaseAudioSource(const int source);
  42. void reqesetReset();
  43. void requestMuteToggole();
  44. void requestSpeaker(const int item);
  45. void requestMute(const int item);
  46. void requestIncreaseHalfVolume();
  47. void requestDecreaseHalfVolume();
  48. void requestIncreaseVolume();
  49. void requestDecreaseVolume();
  50. void requestSetVolume(const int volume);
  51. void setEqualizerItem(const int item, const int bass, const int middle, const int treble);
  52. void setSoundItem(const int item, const int left, const int right);
  53. void faderOut();
  54. //amixer alsa phone volume controls 20190828
  55. int open_amixer_mode(int stream_name, int ctrlname);
  56. void close_amixer_mode();
  57. int get_amixersoftmaster_volume();
  58. void set_amixersoftmaster_volume(int volume);
  59. void audioServiceStart();
  60. signals:
  61. void onMuteChange(const int mute);
  62. void onVolumeChange(const int volume);
  63. void onAudioServiceRestart();
  64. void onEqualizerItemChange(const int item, const int bass, const int middle, const int treble);
  65. void onSoundItemChange(const int item, const int left, const int right);
  66. private slots:
  67. void onTimeout();
  68. private:
  69. Q_DECLARE_PRIVATE(AudioService)
  70. AudioServicePrivate* const d_ptr;
  71. };
  72. #endif // AUDIOSERVICE_H