HearthSim/python-fsb5

无法运行

barnett2010 opened this issue · 2 comments

python extract.py -o a 8013_1.fsb

Traceback (most recent call last):
File "extract.py", line 131, in
main()
File "extract.py", line 127, in main
exit(app.run(sys.argv[1:]))
File "extract.py", line 121, in run
self.handle_file(f)
File "extract.py", line 110, in handle_file
for sample_fakepath, sample_name, sample_data in self.read_samples(fakepath_prefix, fsb, ext):
File "extract.py", line 86, in read_samples
yield sample_fakepath, sample.name, fsb.rebuild_sample(sample)
File "C:\1\fsb5jb\fsb5_init_.py", line 211, in rebuild_sample
from . import vorbis
File "C:\1\fsb5jb\fsb5\vorbis.py", line 12, in
vorbis = load_lib('vorbis')
File "C:\1\fsb5jb\fsb5\utils.py", line 76, in load_lib
raise LibraryNotFoundException("Could not load the library %r" % (names[0]))
fsb5.utils.LibraryNotFoundException: Could not load the library 'vorbis'

From the README:

libogg and libvorbis are required to decode ogg samples. For linux simply install from your package manager. For windows ensure the dlls are avaliable (ie. in System32 or the directory you are running the script from). Known working dlls are avaliable as part of the release.

Whether you downloaded the Win64 or Win32 version (and not the source code zip named python-fsb5-b7bf605), you should've obtained libvorbis.dll and libogg.dll. Just have them in the folder you're running extract.py from. Or, rename them vorbis.dll and ogg.dll and move them to C:\Windows\System32 (assuming you're running Windows).

Similar thing on my end:

Traceback (most recent call last):
  File "C:\!temp\extract.py", line 131, in <module>
    main()
  File "C:\!temp\extract.py", line 127, in main
    exit(app.run(sys.argv[1:]))
         ^^^^^^^^^^^^^^^^^^^^^
  File "C:\!temp\extract.py", line 121, in run
    self.handle_file(f)
  File "C:\!temp\extract.py", line 110, in handle_file
    for sample_fakepath, sample_name, sample_data in self.read_samples(fakepath_prefix, fsb, ext):
  File "C:\!temp\extract.py", line 86, in read_samples
    yield sample_fakepath, sample.name, fsb.rebuild_sample(sample)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\!temp\fsb5\__init__.py", line 211, in rebuild_sample
    from . import vorbis
  File "C:\!temp\fsb5\vorbis.py", line 12, in <module>
    vorbis = load_lib('vorbis')
             ^^^^^^^^^^^^^^^^^^
  File "C:\!temp\fsb5\utils.py", line 76, in load_lib
    raise LibraryNotFoundException("Could not load the library %r" % (names[0]))
fsb5.utils.LibraryNotFoundException: Could not load the library 'vorbis'

Registering the provided DLLs, placing them into System32 or SysWOW64, nothing works:
image