2012-09-09 4 views
0

kivy에서 ToggleButtons 시리즈를 받았는데 각기 다른 사운드 파일이로드되었습니다.Kivy : 사운드는 재생되기 시작하지만 Android에서는 멈출 수 없지만 Windows에서는 작동합니다.

Windows에서 코드를 실행하면 예상대로 작동하지만 Android에서 Kivy Launcher를 사용하면 소리가 멈추지 않습니다. 여기

class AudioButton(ToggleButton): 
    sound = ObjectProperty(None) 

    def killsound(self, state, dt): 
     self.sound.stop() 
     if 'Click to stop' in self.text: 
      self.text = self.text.strip('\nClick to stop') 
      self.height = 60 
     else: 
      pass 

    def on_press(self): 
     self.bind(state=self.killsound) 
     if self.state == 'normal': 
      self.sound.stop() 
     else: 
      self.sound.play() 
      self.text = self.text+'\nClick to stop' 
      self.height=240 

은 무엇이다/수행해야합니다 size_hint, font_sizegroup이 (라디오 버튼의 역할을하는)
  • on_press 화재 :

    • 도 지정 이전에 지정한 사운드 파일 (이있는 AudioButton 인스턴스를 생성 단추의 상태가 변경 될 때 killsound
    • 단추가 state=='down'이면 소리가 재생되고 버튼의 텍스트, 버튼은 다른 버튼을 누르면됩니다 경우 관련된 버튼 누르면됩니다 경우는, 현재 재생중인 사운드를 중지 state=='normal' 경우 캡션이
    • 를 추가 취득 콜백 프로그래머 : (killsound를

    콜백) 상태

  • 이전에 추가 캡션 제거 변경하고 버튼의 크기를 재조정 할 때

    • 직접 음을 정지

    Windows에서이 코드를 사용하면 모든 것이 잘 동작합니다. 그러나 Android에서는 killsound get이 호출되면 캡션을 제거하고 버튼의 크기를 조정하지만 소리가 멈추지 않습니다. - 멈추어야하는 이전 사운드가 여전히 재생 중이며 새 것으로 시작됩니다. 두 개의 사운드가 동시에 재생됩니다.

    도와 주시겠습니까?

  • +0

    Windows 및 Android에서 다른 동작을하는 경우 kivy 추적기에서 문제를 열 ​​것을 제안합니다. – Tshirtman

    +0

    의견을 보내 주셔서 감사합니다. 문제가 해결되면 제 질문을 업데이트하겠습니다. –

    답변

    2

    Kivy 1.4.1에서 수정되었습니다. 메일 링리스트를 통해 우리와 이야기하거나 여기에 게시하는 대신 github 문제를보고해야합니다. :)

    관련 문제