Merge pull request #20 from cuu/master

fix alsaaudio set_volume problem
This commit is contained in:
clockworkpi 2018-06-01 18:27:35 +08:00 committed by GitHub
commit 858500a027
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 23 deletions

View File

@ -79,16 +79,19 @@ class SoundPatch(AboveAllPatch):
m = alsaaudio.Mixer()
vol = m.getvolume()[0]
# print("VolumeUp vol %d " % vol)
for i,v in enumerate(self.snd_segs):
if vol >= v[0] and vol <= v[1]:
self._Needle = i
break
self._Needle += 1
if self._Needle > len(self.snd_segs) -1:
self._Needle = len(self.snd_segs) -1
m.setvolume( self.snd_segs[self._Needle][1] ) ## prefer bigger one
# print("Set volume %d" % self.snd_segs[self._Needle][1] )
m.setvolume( self.snd_segs[self._Needle][0] + (self.snd_segs[self._Needle][1] - self.snd_segs[self._Needle][0])/2 ) ## prefer bigger one
self._Value = self.snd_segs[self._Needle][1]

View File

@ -202,26 +202,27 @@ def event_process(event,main_screen):
exit()
if event.key == pygame.K_KP_PLUS:
if main_screen._CurrentPage._Name != "Sound volume": ## name from Menu/GameShell/10_Settings/Sound/pages.py
main_screen.Draw()
sound_patch.VolumeUp()
sound_patch.Draw()
main_screen.Draw()
sound_patch.VolumeUp()
sound_patch.Draw()
main_screen.SwapAndShow()
#pygame.time.delay(200)
#main_screen.Draw()
#main_screen.SwapAndShow()
main_screen.SwapAndShow()
#pygame.time.delay(200)
#main_screen.Draw()
#main_screen.SwapAndShow()
if event.key == pygame.K_KP_MINUS:
main_screen.Draw()
if main_screen._CurrentPage._Name != "Sound volume":
main_screen.Draw()
sound_patch.VolumeDown()
sound_patch.Draw()
sound_patch.VolumeDown()
sound_patch.Draw()
main_screen.SwapAndShow()
#pygame.time.delay(200)
#main_screen.Draw()
#main_screen.SwapAndShow()
main_screen.SwapAndShow()
#pygame.time.delay(200)
#main_screen.Draw()
#main_screen.SwapAndShow()
###########################################################