AudioService.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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. signals:
  60. void onMuteChange(const int mute);
  61. void onVolumeChange(const int volume);
  62. void onEqualizerItemChange(const int item, const int bass, const int middle, const int treble);
  63. void onSoundItemChange(const int item, const int left, const int right);
  64. private slots:
  65. void onTimeout();
  66. private:
  67. Q_DECLARE_PRIVATE(AudioService)
  68. AudioServicePrivate* const d_ptr;
  69. };
  70. #endif // AUDIOSERVICE_H