Форум сайта python.su
							
  0  
								
								Код простой: просто загружаем в цикле mp3 файл в переменную. Потом с ней можно что-нибудь делать…
Проблемы:
1. При каждом вызове функции AudioSegment.from_mp3 () вылетает консоль ffmpeg. 
Как сделать, чтобы этого не было. 
У меня установлен модуль ffmpeg, но pydub почему-то работает только когда укажешь путь на бинарник ffmpeg.
2. На 32 итерации все останавливается с MemoryError. Я параллельно смотрел диспетчер задач и использование памяти - память до максимума не доходит.
Может кончается память, зарезервированная для Питона целиком? Может надо как-то очищать память после каждой итерации?
Код:
from pydub import AudioSegment # ! для pydub нужно в переменной окружения path добавить путь для ffmpeg #initialization sample = AudioSegment.from_mp3("C:/Python34/_mypy_/_sound input_/1.mp3") track = sample[:100] i = 1 print(i) #! при i=32 вылетает ошибка памяти #! выскакивает консоль ffmpeg for i in range (33): i=i+1 print("i_for = ",i) sample = AudioSegment.from_mp3("C:/Python34/_mypy_/_sound input_/"+str(i)+".mp3") # do something
 ...
i_for =  29
i_for =  30
i_for =  31
i_for =  32
Exception in thread Thread-131:
Traceback (most recent call last):
  File "C:\Python34\lib\threading.py", line 911, in _bootstrap_inner
    self.run()
  File "C:\Python34\lib\threading.py", line 859, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Python34\lib\subprocess.py", line 1173, in _readerthread
    buffer.append(fh.read())
MemoryError
Офлайн