【Pepper(ペッパー)】プロジェクトを停止しても音楽が止まらない( ;´Д`)

こんばんわ〜♪

今日は、ここ2日程、悩まされていた
プロジェクト(ビヘイビア)を停止しても音楽が再生され続けるという問題が、よーやく解決されたので書きたいと思います( ´ ▽ ` )ノ

とりあえず、コレグラフ上から停止ボタンを押下しても音楽だけが再生され続けるという事件に至った経緯から・・・

1、フローダイアグラムにPlaySoundを配置する
2、そのままPlaySoundボックスのonStoppedから次のボックスのonStartに繋げても音楽の再生が終わるまでPlaySoundボックスのonStoppedから出力される事がない(当たり前ですよね・・・)
3、PlaySoundFileボックスの途中からoutputという出力をだして、先に進めようと試みる(失敗)
4、outputの出力は残したまま試行錯誤(惨敗・・・(/ _ ; ))
5、先輩に助力を乞う(ALBehaviorManagerProxyを使おうと試みる・・・)

と、いうわけでようやく先輩の力をお借りして解決した問題の根本的な原因は以下の2点です!

1、self.ids.remove(id)で、idsの値が削除されていた。
2、1のせいで、onUnload内のfor文が回らずにself.playerStop.stop(id)が実行されていなかった。

なので、onUnload()内のfor文を削除するか、下のソースのようにonInput_onStop(self)のself.onUnloadd()の下にself.playerStop.stop(id)を追記してやれば、プロジェクト(behavior)を停止した時に音楽も停止されるようになるハズです♪


def onInput_onStop(self):
self.onUnload()
try:
self.playerStop.stop(id)
except:
pass

まぁ、作りはもっといい方法がたくさんあると思うので、好きなようにしちゃって下さい( ´ ▽ ` )ノ

最後にもう1度、原因はself.playerStop.stop(id)が実行されていなかった・・・です。
みなさんは、こんなアホなことしてないと思いますが、私みたいになっちゃった人は、参考にしてみてくださいねっ♪

ALBehaviorManagerProxyやらなんやら使おうとしたマヌケな私に共感してくださる方は、これからもぜひ、見に来てくださいねっ…(つω< *)

  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください