MusicRoomを改造する
Ren’Pyには標準でミュージックルームを実装するためのクラスMusicRoomがついています。
しかしこのクラスいささか機能不足です。
- 一時停止と再開がない
- ランダム再生がない
- ループ、連続再生が設定出来ない
- 再生時間の表示がない
なので実装してみることにしました。
しかし、2,3は割と簡単でしたが、1,4はつまずきました。
まずRen’Pyには探した限りでは音楽ファイルの長さと再生位置の所得(これはあったみたいです)、さらに途中から再生する機能がないみたいです。
pygameにはあるので出来ないことはないと思いますが、自分には難しいです。
そのため一時停止と再開は現状無理です。
再生位置の表示についてはあらかじめ曲の長さを登録しておいて再生開始からの時間を計って何とか所得できましたが、再生位置表示のバーから再生位置を変更するなんてことは出来ません。タイマーで計っているので、表示も正確ではありません。
また、これを表示する方法も不明です。
テキストをスクリーンに追加して、定期的に更新する方法が分かりませんでした。
Notifyは位置が変更できない上にちらつくし、DynamicDisplayableを使おうと思ってText()でテキストのdisplayableを作ったらなぜか本編に飛ばされるし。
とりあえず現在までに出来た分は配布場所で配っていますので、いいアイデアがある人助けてください。