2012-07-25 11 views
6

में एएसी (.m4a) फ़ाइलों को .mp3 में कनवर्ट करें IAC फ़ाइलों को एमपी 3 में कनवर्ट करने के लिए एक स्क्रिप्ट लिख रहा हूं - विशेष रूप से इसलिए मैं उन्हें एमपी 3 सीडी में जला सकता हूं क्योंकि आईट्यून्स फ्लाई पर ट्रांसकोड नहीं करेगा। मैंने Write a simple python script to convert all .wav files in a specific folder to .mp3 using lameनिर्देशिका

से कोड को अनुकूलित किया है, वर्तमान में यह निर्देशिका में पहली फ़ाइल को परिवर्तित करता है और फिर बंद हो जाता है।

मेरे पास पाइथन का एक सरसरी ज्ञान है, लेकिन उपप्रोसेसर मॉड्यूल नहीं है। दस्तावेज़ों के माध्यम से चला गया और यह नहीं देख सकता कि यह फ़ाइलों को संसाधित क्यों नहीं कर रहा है।

#!/usr/bin/env python 

import os 
import os.path 
import sys 
import subprocess 

OUTPUT_DIR = '/Users/matt/Desktop/mp3/' 

def main(): 
    path = os.getcwd() 
    filenames = [ 
     filename 
     for filename 
     in os.listdir(path) 
     if filename.endswith('.m4a') 
     ] 

    for filename in filenames: 
     subprocess.call([ 
      "ffmpeg", "-i", 
      os.path.join(path, filename), 
      "-acodec", "libmp3lame", "-ab", "256k", 
      os.path.join(OUTPUT_DIR, '%s.mp3' % filename[:-4]) 
      ]) 
     return 0 

if __name__ == '__main__': 
    status = main() 
    sys.exit(status) 
+0

मुझे यह एक पुराना सवाल पता है और आपने शायद इसे पहले से ही किया है लेकिन एएसी को एमपी 3 में परिवर्तित करना एक बुरा विचार है क्योंकि आप दो बार गुणवत्ता खो देंगे (दोनों हानिकारक प्रारूप हैं)। यह सुनिश्चित करने के लिए कि आपके पास सर्वोत्तम गुणवत्ता वाले एमपी 3 हैं, आपको वास्तव में सीडी से फ़ाइलों को फिर से चिपका देना चाहिए। – Cromulent

+0

@ क्रॉमुलेंट अच्छी तरह से जानते हैं! इसके लिए संदर्भ मेरी मौजूदा आईट्यून्स एएसी लाइब्रेरी से मेरी कार (आईफोन अटैचमेंट> $ 180) के लिए एमपी 3 सीडी बना रहा है, आईट्यून्स के माध्यम से इसे किए बिना (जो लाइब्रेरी में एमपी 3 फाइलों को स्वत: जोड़ता है)। चूंकि मैं ऑडियोफाइल-स्तर के उपकरण के माध्यम से संगीत नहीं चला रहा हूं, और जैसा कि मैं ~ 256k + एएसी फाइलों से शुरू कर रहा हूं, नुकसान स्वीकार्य है। – elithrar

उत्तर

8

आप एक return 0 अपने for पाश अंदर है। एक टाइपो की तरह लग रहा है। इसे 4 रिक्त स्थान छोड़ दें ताकि यह for के साथ संरेखित हो।

+0

ग्रेट, धन्यवाद। खुशी है कि यह सिर्फ एक टाइपो था; उन चीजों में से एक जो आप देख सकते हैं और याद कर सकते हैं। – elithrar

संबंधित मुद्दे