ʹÓÃCÓïÑÔÀ©Õ¹Python(Îå)
ÉÏһƪÖÐÎÒÃÇÔÚpython¶ËµÄ×ö·¨ÊÇÿ´Î¶Áȡһ¸öÊý¾Ý¿é£¬È»ºó½«Õâ¸öÊý¾Ý¿é´«µÝ½øCÀ©Õ¹Ä£¿éÖÐÈ¥£¬µ«¶ÔÓÚÄ¿±êÎļþµÄÊý¾ÝдÈëÊÇÔÚCÀ©Õ¹Ä£¿éÖÐÍê³ÉµÄ£¬µ«Æäʵ¿ÉÒÔ¸üÃæÏò¶ÔÏóÒ»µã£¬²»ÊÇÂð£¿ÔÀ´outfpÊÇÒ»¸öÎļþÖ¸Õ룬²»Èç¸Ä³ÉÒ»¸ö´ÓPythonÖд«µÝÒ»¸öÎļþ¶ÔÏóµ½CÄ£¿éÀïÈ¥£¬Õâ¸öÎļþ¶ÔÏóÓÐ×Ô¼ºµÄwrite·½·¨£¬ÕâÑùÔÚCÀ©Õ¹Ä£¿éÖÐÄã¾Í¿ÉÒԻص÷Îļþ¶ÔÏóµÄwrite·½·¨À´Íê³ÉÊý¾ÝµÄдÈë¡£ Ê×ÏÈÀ´¿´Python¶ËµÄ´úÂ룬ÎÒÃǶ¨ÒåÁËÒ»¸öfileÀà¼Ì³ÐÏÂÀ´µÄMyFile×ÓÀ࣬ÆäÖеÄwrite·½·¨¾ÍÊÇΪÔÚCÀ©Õ¹Ä£¿éÖлص÷¶ø×¨ÃÅ×¼±¸µÄ¡£´úÂë#!/usr/bin/env python
import clame
INBUFSIZE = 4096
class MyFile(file):
def __init__(self, path, mode):
file.__init__(self, path, mode)
self.n = 0
def write(self, s):
file.write(self, s)
self.n += 1
output = MyFile('test3.mp3', 'wb')
encoder = clame.Encoder(output)
input = file('test.raw', 'rb')
data = input.read(INBUFSIZE)
while data != '':
encoder.encode(data)
data = input.read(INBUFSIZE)
input.close()
encoder.close()
output.close()
print 'output.write was called %d times' % output.n ÔÙÀ´¿´CÄ£¿éµÄ´úÂ룬clame_EncoderObject½á¹¹ÌåÖеÄoutfp¸Ä³ÉÁËPyObjectÀàÐ͵ÄÖ¸Õ룬ÏàÓ¦µÄdealloc·½·¨Ò²×öÁ˵÷Õû£¬ÓÉÓÚoutfpÊÇÒ»¸ö¶ÔÏó£¬Òò´ËÐèÒª¶ÔÆäÒýÓüÆÊý½øÐмõ1²Ù×÷£¬¶øÒÔǰµÄ´úÂëÊÇÖ±½Óµ÷ÓÃfcloseÀ´Ö±½Ó¹Ø±Õ´ò¿ªµÄÄ¿±êÎļþ¡£µ«ÏÖÔÚÎÒÃÇÖ»ÐèÒª¶ÔÆäÒýÓüÆÊý×ö¼õ1²Ù×÷£¬µÈµ½ÆäΪ0µÄʱºò£¬ÔÚÍⲿµÄpython´úÂëÖоͿÉÒԹرÕÕâ¸öÎļþ¶ÔÏó¡£Í¬Ñù¿ÉÒÔ¿´µ½ÔÚinitº¯ÊýÖÐÓÐÏàÓ¦µÄÒýÓüÆÊý¼Ó1µÄ²Ù×÷¡£ÔÚencodeºÍcloseÁ½¸öº¯ÊýÖУ¬Í¨¹ýPyObject_CallMethodʵÏÖÁ˶ÔPython¶ÔÏóÖÐÖ¸¶¨·½·¨µÄ»Øµ÷¡£´úÂë#include <Python.h>
#include <lame.h>
/*
*
Ïà¹ØÎĵµ£º
ÉÏһƪÖÐÎÒÃÇÒѾÁ˽âÈçºÎÔÚPython³ÌÐòºÍCÄ£¿éÖ®¼ä½øÐÐÖµµÄÏ໥´«µÝ£¬ÏÖÔÚÎÒÃÇÀ´½øÈëʵ×÷½×¶Î£¬¿´¿´ÈçºÎ½«Ò»¸öCÓïÑÔ¿ª·¢µÄ¿ªÔ´mp3±à½âÂë¿âLAME°üװΪһ¸öPythonÏ¿ÉÒÔʹÓõÄÀ©Õ¹Ä£¿é¡£Ê×ÏÈÈ¥http://lame.sourceforge.net/download.phpÏÂÔØLAMEµÄÔ´´úÂ룬ȻºóÇл»µ½rootÓû§±àÒëÔ´´úÂ룬./configure
make
make instal ......
ÉèÖãº
1. Tools/Projects and Solutions/VC ++ Directories
Inlcude files: C:\Program Files\MATLAB\R2009a\extern\include
Library files: C:\Program Files\MATLAB\R2009a\extern\lib
2. Property
Configuration Properties/Linker
......
Ö¸Õë,ÖÚËùÖÜÖª,ʱΪһÄÚ´æµØÖ·.Å׿ªOS¼¶±ð»ò¸üµÍµÄÓ²¼þ¼¶±ð²»Ëµ,½ö¶ÔÓ¦ÓÃÄÚµÄʹÓýøÐÐССµÄÒܲâÌÖÂÛ.
Ê×ÏÈ,ÔÚÓ¦ÓÃÄÚ,ÓÃmallocÉêÇëµ½µÄÒ»¿éµØÖ·Ó¦¸ÃÊÇÁ¬ÐøµÄ(²Â²â,Âß¼ÉÏÁ¬Ðø,ʵ¼ÊÉÏÎïÀíÈçºÎ·Ö²¼²»Óè¹Ø×¢).
Æä´Î,Êý¾Ý´æÔÚÔÚÄÚ´æÖж¼ÊÇÒÔ2½øÖÆÐÎʽ´æ·Å.²»´æÔÚÊý¾ÝÀàÐÍ,Òò´Ë,¶ÔÄÚ´æÊý¾ÝµÄ²Ù×÷,Ö»Òª×ñѽø³öÀàÐÍÒ»Ö¼´¿É.
´ ......
Python¼òµ¥ÓÖ¹¦ÄÜÇ¿´ó¡£Ëü×¢ÖØµÄÊÇÈçºÎ½â¾öÎÊÌ⣬¶ø²»ÊDZà³ÌÓïÑÔµÄÓï·¨ºÍ½á¹¹¡£ÀíÏëµÄ½Å±¾ÓïÑÔ¡£ÊÊÓÃÓÚ¿ìËÙµÄÓ¦ÓóÌÐò¿ª·¢¡£
PythonÊÇÒ»ÖÖ½âÊÍÐÔÓïÑÔ¡£»¹ÊÇÒ»ÖÖÃæÏò¶ÔÏóµÄÓïÑÔ¡£
ÓÐÁ½ÖÖʹÓÃpythonÔËÐÐÄãµÄ³ÌÐòµÄ·½Ê½£º
ʹÓý»»¥Ê½µÄ´øÌáʾ·ûµÄ½âÊÍÆ÷
ʹ ......
×î½üÔÚÓÃPython´¦ÀíһЩÊý¾Ý£¬Êý¾ÝÐèÒª´æ´¢µ½MySQLÊý¾Ý¿âÖУ¬²ÉÓÃMySQLdbÀ´½øÐÐÊý¾Ý¿âµÄ²Ù×÷£¬µ«ÊDZ»Ò»¸öÎÊÌâÀ§ÈÅÁ˺ܾá£ÔÚ´ò¿ªÊý¾Ý¿âµÄʱºòMySQLdb.connect(self.host, self.user, self.password, self.database, port=self.port)³öÒì³££¬¶øÇÒÒì³£³öÏÖµÄλÖ÷dz£Ææ¹Ö¡£
³öÏÖÔÚconverters.py 164ÐÐ
from decimal import ......