audio_init.sh 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. #!/bin/sh
  2. #
  3. # initial audio set.
  4. #
  5. ajust_snd_params()
  6. {
  7. times=3
  8. volume_out=`sysconf ${volctrl_path} get volume volume_out`
  9. # Set output volume
  10. case ${volume_out} in
  11. 9)
  12. value_out=99
  13. ;;
  14. 8)
  15. value_out=95
  16. ;;
  17. 7)
  18. value_out=92
  19. ;;
  20. 6)
  21. value_out=90
  22. ;;
  23. 5)
  24. value_out=88
  25. ;;
  26. 4)
  27. value_out=81
  28. ;;
  29. 3)
  30. value_out=66
  31. ;;
  32. 2)
  33. value_out=47
  34. ;;
  35. 1)
  36. value_out=19
  37. ;;
  38. 0)
  39. value_out=0
  40. ;;
  41. esac
  42. while [ 1 ]
  43. do
  44. /usr/bin/amixer -q sset 'Master',0 ${value_out}
  45. times=`expr $times - 1`
  46. if [ ${times} -le 0 ];then
  47. break;
  48. fi
  49. done
  50. }
  51. volctrl_path="/oem/etc/volctrl.conf"
  52. EQ_STAT="`ps|grep 'eq_drc_process'|grep -v grep`"
  53. if [ -z "${EQ_STAT}" ];then
  54. /usr/bin/eq_drc_process > /dev/null 2>&1 &
  55. fi
  56. volume_in=`sysconf ${volctrl_path} get volume volume_in`
  57. case ${volume_in} in
  58. 9)
  59. value_in=31
  60. ;;
  61. 8)
  62. value_in=30
  63. ;;
  64. 7)
  65. value_in=29
  66. ;;
  67. 6)
  68. value_in=28
  69. ;;
  70. 5)
  71. value_in=27
  72. ;;
  73. 4)
  74. value_in=26
  75. ;;
  76. 3)
  77. value_in=24
  78. ;;
  79. 2)
  80. value_in=23
  81. ;;
  82. 1)
  83. value_in=21
  84. ;;
  85. 0)
  86. value_in=0
  87. ;;
  88. esac
  89. if [ ${value_in} = 0 ];then
  90. /usr/bin/amixer -q sset 'ADC MIC Group 3 Left' 'Mute'
  91. /usr/bin/amixer -q sset 'ADC MIC Group 3 Right' 'Mute'
  92. else
  93. /usr/bin/amixer -q sset 'ADC MIC Group 3 Left' 'Work'
  94. /usr/bin/amixer -q sset 'ADC MIC Group 3 Right' 'Work'
  95. /usr/bin/amixer -q sset 'ADC ALC Group 3 Left' ${value_in}
  96. /usr/bin/amixer -q sset 'ADC ALC Group 3 Right' ${value_in}
  97. fi
  98. /usr/bin/amixer -q sset 'DAC HPMIX Left' 1
  99. /usr/bin/amixer -q sset 'DAC LINEOUT Left' 2
  100. /usr/bin/amixer -q sset 'DAC HPMIX Right' 1
  101. /usr/bin/amixer -q sset 'DAC LINEOUT Right' 2
  102. ajust_snd_params&
  103. /usr/bin/amixer -q sset 'ADC MIC Group 1 Left' 'Work'
  104. /usr/bin/amixer -q cset numid=11,iface=MIXER,name='ADC Main MICBIAS' 1
  105. /usr/bin/amixer -q cset numid=10,iface=MIXER,name='ADC MICBIAS Voltage' 5
  106. /usr/bin/amixer -q cset numid=12,iface=MIXER,name='ADC MICBIAS1' off
  107. /usr/bin/amixer -q cset numid=13,iface=MIXER,name='ADC MICBIAS2' on
  108. exit 0