バグ: `pygame.error: mixer system not initialized`エラーが出る

Issue #186 resolved
k4nagatsuki repo owner created an issue

某所の報告より。次のようなエラーが出て起動しない。

Traceback (most recent call last):
File "cardwirth.py", line 22, in <module>
File "cardwirth.py", line 16, in main
File "wx\_core.pyo", line 8628, in __init__
File "wx\_core.pyo", line 8196, in _BootstrapApp
File "cw\frame.pyo", line 839, in OnInit
File "cw\frame.pyo", line 63, in __init__
File "cw\thread.pyo", line 43, in __init__
File "cw\thread.pyo", line 55, in init_pygame
File "cw\util.pyo", line 380, in init
pygame.error: mixer system not initialized
Traceback (most recent call last):
File "cw\frame.pyo", line 325, in OnDestroy
AttributeError: 'NoneType' object has no attribute '_running'

環境はWindows 7 Professional (64bit) SP1、物理メモリ4GBとのこと。

pygame.init()の中でpygame.mixerが初期化できていない? おそらく音周りの環境に問題があるのではないか。例えばcwpyは音声関係のドライバが一切入っていない環境を想定していない。

とりあえず次の対策を行う。

  • pygame.init()の後で改めてpygame.mixer.init()を喚び出す(念のため)。
  • pygame.mixer関係の処理で例外を握り潰す。

Comments (4)

  1. k4nagatsuki reporter

    サウンドドライバを全て無効にして音声再生できない環境を構築して試したところ、pygame.init()が行われない事を確認。

    エラーの出た環境もサウンドデバイスの無いマシンだったとのことで、おそらく上の推測は正しく、テスト版は動くと思われます。確認が取れ次第クローズします。

  2. Log in to comment