set_volume.sh 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. #!/bin/sh
  2. #
  3. # initial audio set.
  4. #
  5. MODEL=`sysconf /etc/speaker.conf get system model`
  6. [ "${MODEL}" = "SH30" -o "${MODEL}" = "SW15" -o "${MODEL}" = "SC15" ] && DEV_TYPE="Speaker"
  7. [ "${MODEL}" = "IV03" -o "${MODEL}" = "IA03" ] && DEV_TYPE="Intercom"
  8. case $1 in
  9. set)
  10. volume_out=$2
  11. ;;
  12. resume)
  13. /etc/scripts/pa_mute.sh 1
  14. volctrl_path="/oem/etc/volctrl.conf"
  15. volume_out=`sysconf ${volctrl_path} get volume volume_out`
  16. ;;
  17. *)
  18. /etc/scripts/pa_mute.sh 1
  19. volctrl_path="/oem/etc/volctrl.conf"
  20. volume_out=`sysconf ${volctrl_path} get volume volume_out`
  21. ;;
  22. esac
  23. # Set output volume
  24. if [ "foo_${DEV_TYPE}" = "foo_Intercom" ];then
  25. case ${volume_out} in
  26. 9)
  27. value_out=99
  28. ;;
  29. 8)
  30. value_out=96
  31. ;;
  32. 7)
  33. value_out=93
  34. ;;
  35. 6)
  36. value_out=90
  37. ;;
  38. 5)
  39. value_out=86
  40. ;;
  41. 4)
  42. value_out=82
  43. ;;
  44. 3)
  45. value_out=78
  46. ;;
  47. 2)
  48. value_out=75
  49. ;;
  50. 1)
  51. value_out=71
  52. ;;
  53. 0)
  54. value_out=0
  55. ;;
  56. esac
  57. else # Speaker
  58. if [ "foo_${MODEL}" = "foo_SC15" -o "foo_${MODEL}" = "foo_SW15" ];then
  59. case ${volume_out} in
  60. 9)
  61. value_out=91
  62. ;;
  63. 8)
  64. value_out=86
  65. ;;
  66. 7)
  67. value_out=79
  68. ;;
  69. 6)
  70. value_out=73
  71. ;;
  72. 5)
  73. value_out=67
  74. ;;
  75. 4)
  76. value_out=58
  77. ;;
  78. 3)
  79. value_out=47
  80. ;;
  81. 2)
  82. value_out=35
  83. ;;
  84. 1)
  85. value_out=19
  86. ;;
  87. 0)
  88. value_out=0
  89. ;;
  90. esac
  91. elif [ "foo_${MODEL}" = "foo_SL50" ];then
  92. case ${volume_out} in
  93. 9)
  94. value_out="98,95"
  95. ;;
  96. 8)
  97. value_out="95,91"
  98. ;;
  99. 7)
  100. value_out="89,85"
  101. ;;
  102. 6)
  103. value_out="83,78"
  104. ;;
  105. 5)
  106. value_out="76,71"
  107. ;;
  108. 4)
  109. value_out="68,62"
  110. ;;
  111. 3)
  112. value_out="62,56"
  113. ;;
  114. 2)
  115. value_out="53,45"
  116. ;;
  117. 1)
  118. value_out="41,33"
  119. ;;
  120. 0)
  121. value_out=0
  122. ;;
  123. esac
  124. else # SH30
  125. case ${volume_out} in
  126. 9)
  127. value_out=99
  128. ;;
  129. 8)
  130. value_out=95
  131. ;;
  132. 7)
  133. value_out=90
  134. ;;
  135. 6)
  136. value_out=86
  137. ;;
  138. 5)
  139. value_out=82
  140. ;;
  141. 4)
  142. value_out=78
  143. ;;
  144. 3)
  145. value_out=74
  146. ;;
  147. 2)
  148. value_out=70
  149. ;;
  150. 1)
  151. value_out=43
  152. ;;
  153. 0)
  154. value_out=0
  155. ;;
  156. esac
  157. fi
  158. fi
  159. /usr/bin/amixer -q sset 'Master',0 ${value_out}
  160. exit 0