set_volume.sh 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #!/bin/sh
  2. #
  3. # initial audio set.
  4. #
  5. case $1 in
  6. set)
  7. volume_out=$2
  8. volume_in=$3
  9. ;;
  10. resume)
  11. volctrl_path="/oem/etc/volctrl.conf"
  12. volume_out=`sysconf ${volctrl_path} get volume volume_out`
  13. volume_in=`sysconf ${volctrl_path} get volume volume_in`
  14. ;;
  15. *)
  16. volctrl_path="/oem/etc/volctrl.conf"
  17. volume_out=`sysconf ${volctrl_path} get volume volume_out`
  18. volume_in=`sysconf ${volctrl_path} get volume volume_in`
  19. ;;
  20. esac
  21. # Set output volume
  22. case ${volume_out} in
  23. 10)
  24. value_out=100
  25. ;;
  26. 9)
  27. value_out=96
  28. ;;
  29. 8)
  30. value_out=93
  31. ;;
  32. 7)
  33. value_out=90
  34. ;;
  35. 6)
  36. value_out=85
  37. ;;
  38. 5)
  39. value_out=80
  40. ;;
  41. 4)
  42. value_out=74
  43. ;;
  44. 3)
  45. value_out=66
  46. ;;
  47. 2)
  48. value_out=51
  49. ;;
  50. 1)
  51. value_out=35
  52. ;;
  53. 0)
  54. value_out=0
  55. ;;
  56. esac
  57. /usr/bin/amixer -q sset 'Master',0 ${value_out}
  58. # Set input volume
  59. case ${volume_out} in
  60. 10)
  61. value_in=192
  62. ;;
  63. 9)
  64. value_in=187
  65. ;;
  66. 8)
  67. value_in=180
  68. ;;
  69. 7)
  70. value_in=173
  71. ;;
  72. 6)
  73. value_in=165
  74. ;;
  75. 5)
  76. value_in=156
  77. ;;
  78. 4)
  79. value_in=144
  80. ;;
  81. 3)
  82. value_in=129
  83. ;;
  84. 2)
  85. value_in=108
  86. ;;
  87. 1)
  88. value_in=72
  89. ;;
  90. 0)
  91. value_in=0
  92. ;;
  93. esac
  94. /usr/bin/amixer -q sset 'ADC',0 ${value_in}
  95. exit 0