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

@ -78,17 +78,20 @@ class SoundPatch(AboveAllPatch):
def VolumeUp(self): def VolumeUp(self):
m = alsaaudio.Mixer() m = alsaaudio.Mixer()
vol = m.getvolume()[0] vol = m.getvolume()[0]
# print("VolumeUp vol %d " % vol)
for i,v in enumerate(self.snd_segs): for i,v in enumerate(self.snd_segs):
if vol >= v[0] and vol <= v[1]: if vol >= v[0] and vol <= v[1]:
self._Needle = i self._Needle = i
break break
self._Needle += 1 self._Needle += 1
if self._Needle > len(self.snd_segs) -1: if self._Needle > len(self.snd_segs) -1:
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] self._Value = self.snd_segs[self._Needle][1]

View File

@ -202,27 +202,28 @@ def event_process(event,main_screen):
exit() exit()
if event.key == pygame.K_KP_PLUS: 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() main_screen.Draw()
sound_patch.VolumeUp() sound_patch.VolumeUp()
sound_patch.Draw() sound_patch.Draw()
main_screen.SwapAndShow() main_screen.SwapAndShow()
#pygame.time.delay(200) #pygame.time.delay(200)
#main_screen.Draw() #main_screen.Draw()
#main_screen.SwapAndShow() #main_screen.SwapAndShow()
if event.key == pygame.K_KP_MINUS: 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.SwapAndShow()
#main_screen.Draw() #pygame.time.delay(200)
#main_screen.SwapAndShow() #main_screen.Draw()
#main_screen.SwapAndShow()
########################################################### ###########################################################
if event.key == pygame.K_ESCAPE: if event.key == pygame.K_ESCAPE: