⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ming.c

📁 flash swf file player
💻 C
📖 第 1 页 / 共 5 页
字号:
  SWFSoundInstance inst = getSoundInstance(getThis() TSRMLS_CC);  if((ZEND_NUM_ARGS() != 1) || zend_get_parameters_ex(1, &zpoint) == FAILURE)    WRONG_PARAM_COUNT;  convert_to_long_ex(zpoint);  SWFSoundInstance_setLoopInPoint(inst, Z_LVAL_PP(zpoint));}/* }}} *//* {{{ swfsoundinstance_loopoutpoint(point) */PHP_FUNCTION(swfsoundinstance_loopOutPoint){  zval **zpoint;  SWFSoundInstance inst = getSoundInstance(getThis() TSRMLS_CC);  if((ZEND_NUM_ARGS() != 1) || zend_get_parameters_ex(1, &zpoint) == FAILURE)    WRONG_PARAM_COUNT;  convert_to_long_ex(zpoint);  SWFSoundInstance_setLoopOutPoint(inst, Z_LVAL_PP(zpoint));}/* }}} *//* {{{ swfsoundinstance_loopcount(point) */PHP_FUNCTION(swfsoundinstance_loopCount){  zval **zcount;  SWFSoundInstance inst = getSoundInstance(getThis() TSRMLS_CC);  if((ZEND_NUM_ARGS() != 1) || zend_get_parameters_ex(1, &zcount) == FAILURE)    WRONG_PARAM_COUNT;  convert_to_long_ex(zcount);  SWFSoundInstance_setLoopCount(inst, Z_LVAL_PP(zcount));}/* }}} *//* }}} *//* {{{ SWFMovie */static zend_function_entry swfmovie_functions[] = {  PHP_FALIAS(swfmovie,          swfmovie_init,              NULL)  PHP_FALIAS(nextframe,         swfmovie_nextFrame,         NULL)  PHP_FALIAS(labelframe,        swfmovie_labelFrame,        NULL)  PHP_FALIAS(add,               swfmovie_add,               NULL)  PHP_FALIAS(remove,            swfmovie_remove,            NULL)  PHP_FALIAS(output,            swfmovie_output,            NULL)  PHP_FALIAS(save,              swfmovie_save,              NULL)  PHP_FALIAS(savetofile,        swfmovie_saveToFile,        NULL)  PHP_FALIAS(setbackground,     swfmovie_setBackground,     NULL)  PHP_FALIAS(setrate,           swfmovie_setRate,           NULL)  PHP_FALIAS(setdimension,      swfmovie_setDimension,      NULL)  PHP_FALIAS(setframes,         swfmovie_setFrames,         NULL)  PHP_FALIAS(streammp3,         swfmovie_streamMp3,         NULL)  PHP_FALIAS(addexport,         swfmovie_addExport,         NULL)  PHP_FALIAS(writeexports,      swfmovie_writeExports,      NULL)  PHP_FALIAS(startsound,        swfmovie_startSound,        NULL)  PHP_FALIAS(stopsound,         swfmovie_stopSound,         NULL)  PHP_FALIAS(importchar,        swfmovie_importChar,        NULL)  PHP_FALIAS(importfont,        swfmovie_importFont,        NULL)  PHP_FALIAS(addfont,           swfmovie_addFont,           NULL)  { NULL, NULL, NULL }};/* {{{ swfmovie_init */PHP_FUNCTION(swfmovie_init){  zval **version;  SWFMovie movie;  int ret;//fprintf(stderr, "SWFMovie_output %x %d\n", SWFMovie_output, getpid()); sleep(30);  if(ZEND_NUM_ARGS() == 1)  {    if(zend_get_parameters_ex(1, &version) == FAILURE)      WRONG_PARAM_COUNT;    convert_to_long_ex(version);    movie = newSWFMovieWithVersion(Z_LVAL_PP(version));  }  else    movie = newSWFMovie(); /* default version 4 */  ret = zend_list_insert(movie, le_swfmoviep);  object_init_ex(getThis(), &movie_class_entry);  add_property_resource(getThis(), "movie", ret);  zend_list_addref(ret);}static void destroy_SWFMovie_resource(zend_rsrc_list_entry *resource TSRMLS_DC){  destroySWFMovie((SWFMovie)resource->ptr);}/* }}} *//* {{{ getMovie */SWFMovie getMovie(zval *id TSRMLS_DC){  void *movie = SWFgetProperty(id, "movie", 5, le_swfmoviep TSRMLS_CC);  if(!movie)    php_error(E_ERROR, "called object is not an SWFMovie!");  return (SWFMovie)movie;}/* }}} */	PHP_FUNCTION(swfmovie_importChar){	SWFMovie movie;	SWFCharacter res;	int ret;	zval **libswf, **name;	if(ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &libswf, &name) == FAILURE)		WRONG_PARAM_COUNT;	convert_to_string_ex(libswf);	convert_to_string_ex(name);	movie = getMovie(getThis() TSRMLS_CC);	res = SWFMovie_importCharacter(movie, Z_STRVAL_PP(libswf), Z_STRVAL_PP(name));	if(res != NULL)	{		/* try and create a sprite object */    	ret = zend_list_insert(res, le_swfspritep);		object_init_ex(return_value, &sprite_class_entry);		add_property_resource(return_value, "sprite", ret);	}	}PHP_FUNCTION(swfmovie_addFont){	SWFMovie movie;	SWFFontCharacter res;	int ret;	SWFFont font;	zval **zfont;	if(ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &zfont) == FAILURE)	    WRONG_PARAM_COUNT;	convert_to_object_ex(zfont);	movie = getMovie(getThis() TSRMLS_CC);	font = getFont(*zfont TSRMLS_CC);	res = SWFMovie_addFont(movie, font);	if(res != NULL)	{		/* try and create a fontchar object */    	ret = zend_list_insert(res, le_swffontcharp);		object_init_ex(return_value, &fontchar_class_entry);		add_property_resource(return_value, "fontcharacter", ret);	}	}PHP_FUNCTION(swfmovie_importFont){	SWFMovie movie;	SWFFontCharacter res;	int ret;	zval **libswf, **name;	if(ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &libswf, &name) == FAILURE)		WRONG_PARAM_COUNT;	convert_to_string_ex(libswf);	convert_to_string_ex(name);	movie = getMovie(getThis() TSRMLS_CC);	res = SWFMovie_importFont(movie, Z_STRVAL_PP(libswf), Z_STRVAL_PP(name));	if(res != NULL)	{		/* try and create a fontchar object */    	ret = zend_list_insert(res, le_swffontcharp);		object_init_ex(return_value, &fontchar_class_entry);		add_property_resource(return_value, "fontcharacter", ret);	}	}/* {{{ swfmovie_nextframe */PHP_FUNCTION(swfmovie_nextFrame){  SWFMovie_nextFrame(getMovie(getThis() TSRMLS_CC));}/* }}} *//* {{{ swfmovie_labelframe */PHP_FUNCTION(swfmovie_labelFrame){  zval **label;  if(ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &label) == FAILURE)    WRONG_PARAM_COUNT;  convert_to_string_ex(label);  SWFMovie_labelFrame(getMovie(getThis() TSRMLS_CC), Z_STRVAL_PP(label));}/* }}} *//* {{{ swfmovie_add */PHP_FUNCTION(swfmovie_add){  zval **zchar;  int ret;  SWFBlock block;  SWFDisplayItem item;  SWFMovie movie = getMovie(getThis() TSRMLS_CC);  if(ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &zchar) == FAILURE)    WRONG_PARAM_COUNT;  convert_to_object_ex(zchar);  /* XXX - SWFMovie_add deals w/ all block types.  Probably will need to add that.. */  if(Z_OBJCE_PP(zchar) == &action_class_entry)    block = (SWFBlock)getAction(*zchar TSRMLS_CC);  else    block = (SWFBlock)getCharacter(*zchar TSRMLS_CC);  item = SWFMovie_add(movie, block);  if(item != NULL)  {    /* try and create a displayitem object */    ret = zend_list_insert(item, le_swfdisplayitemp);    object_init_ex(return_value, &displayitem_class_entry);    add_property_resource(return_value, "displayitem", ret);  }}/* }}} *//* {{{ swfmovie_remove */PHP_FUNCTION(swfmovie_remove){  zval **zchar;  SWFDisplayItem item;  SWFMovie movie = getMovie(getThis() TSRMLS_CC);  if(ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &zchar) == FAILURE)    WRONG_PARAM_COUNT;  convert_to_object_ex(zchar);  item = getDisplayItem(*zchar TSRMLS_CC);  SWFMovie_remove(movie, item);}/* }}} *//* {{{ swfmovie_output */void phpByteOutputMethod(byte b, void *data){  TSRMLS_FETCH();  php_write(&b, 1 TSRMLS_CC);}PHP_FUNCTION(swfmovie_output){  zval **zlimit = NULL;  int limit = -1;  SWFMovie movie = getMovie(getThis() TSRMLS_CC);  switch (ZEND_NUM_ARGS()) {  case 1:    if (zend_get_parameters_ex(1, &zlimit) == FAILURE)	  WRONG_PARAM_COUNT;    convert_to_long_ex(zlimit);    limit = Z_LVAL_PP(zlimit);    if((limit<0)||(limit>9)) {      php_error(E_WARNING,"compression level must be within 0..9");      RETURN_FALSE;    }				break;  }  RETURN_LONG(SWFMovie_output(movie, &phpByteOutputMethod, NULL, limit));}/* }}} *//* {{{ swfmovie_saveToFile */void phpFileOutputMethod(byte b, void *data){  fwrite(&b, 1, 1, (FILE *)data);}PHP_FUNCTION(swfmovie_saveToFile){  zval **x, **zlimit = NULL;  int limit = -1;  void *what;  switch (ZEND_NUM_ARGS()) {  case 1:  	if(zend_get_parameters_ex(1, &x) == FAILURE)		WRONG_PARAM_COUNT;	break;  case 2:	if(zend_get_parameters_ex(2, &x, &zlimit) == FAILURE)		 WRONG_PARAM_COUNT;	convert_to_long_ex(zlimit);    limit = Z_LVAL_PP(zlimit);    if((limit<0)||(limit>9)) {    	php_error(E_WARNING,"compression level must be within 0..9");    	RETURN_FALSE;    }	break;  default:		WRONG_PARAM_COUNT;	}  ZEND_FETCH_RESOURCE(what, FILE *, x, -1,"File-Handle",php_file_le_fopen());  RETURN_LONG(SWFMovie_output(getMovie(getThis() TSRMLS_CC), &phpFileOutputMethod, what, limit));}/* }}} *//* {{{ swfmovie_save */PHP_FUNCTION(swfmovie_save){  zval **x, **zlimit = NULL;  int limit = -1;  FILE *file;  long retval;  switch (ZEND_NUM_ARGS()) {  case 1:    if (zend_get_parameters_ex(1, &x) == FAILURE)	  WRONG_PARAM_COUNT;    break;  case 2:    if (zend_get_parameters_ex(2, &x, &zlimit) == FAILURE)      WRONG_PARAM_COUNT;    convert_to_long_ex(zlimit);    limit = Z_LVAL_PP(zlimit);    if((limit<0)||(limit>9)) {      php_error(E_WARNING,"compression level must be within 0..9");      RETURN_FALSE;    }    break;  default:    WRONG_PARAM_COUNT;  }  if(Z_TYPE_PP(x) == IS_RESOURCE)  {    ZEND_FETCH_RESOURCE(file, FILE *, x, -1,"File-Handle",php_file_le_fopen());    RETURN_LONG(SWFMovie_output(getMovie(getThis() TSRMLS_CC),				&phpFileOutputMethod, file, limit));  }  convert_to_string_ex(x);  file = VCWD_FOPEN(Z_STRVAL_PP(x), "wb");  if(file == NULL)    php_error(E_ERROR, "couldn't open file %s for writing", Z_STRVAL_PP(x));  retval = SWFMovie_output(getMovie(getThis() TSRMLS_CC),			      &phpFileOutputMethod, (void *)file, limit);  fclose(file);  RETURN_LONG(retval);}/* }}} *//* {{{ swfmovie_setbackground */PHP_FUNCTION(swfmovie_setBackground){  zval **r, **g, **b;  SWFMovie movie = getMovie(getThis() TSRMLS_CC);  if((ZEND_NUM_ARGS() != 3) || zend_get_parameters_ex(3, &r, &g, &b) == FAILURE)    WRONG_PARAM_COUNT;  convert_to_long_ex(r);  convert_to_long_ex(g);  convert_to_long_ex(b);  SWFMovie_setBackground(movie, Z_LVAL_PP(r), Z_LVAL_PP(g), Z_LVAL_PP(b));}/* }}} *//* {{{ swfmovie_setrate */PHP_FUNCTION(swfmovie_setRate){  zval **rate;  SWFMovie movie = getMovie(getThis() TSRMLS_CC);  if((ZEND_NUM_ARGS() != 1) || zend_get_parameters_ex(1, &rate) == FAILURE)    WRONG_PARAM_COUNT;  convert_to_double_ex(rate);  SWFMovie_setRate(movie, Z_DVAL_PP(rate));}/* }}} *//* {{{ swfmovie_setDimension */PHP_FUNCTION(swfmovie_setDimension){  zval **x, **y;  SWFMovie movie = getMovie(getThis() TSRMLS_CC);  if((ZEND_NUM_ARGS() != 2) || zend_get_parameters_ex(2, &x, &y) == FAILURE)    WRONG_PARAM_COUNT;  convert_to_double_ex(x);  convert_to_double_ex(y);  SWFMovie_setDimension(movie, Z_DVAL_PP(x), Z_DVAL_PP(y));}/* }}} *//* {{{ swfmovie_setframes */PHP_FUNCTION(swfmovie_setFrames){  zval **frames;  SWFMovie movie = getMovie(getThis() TSRMLS_CC);  if((ZEND_NUM_ARGS() != 1) || zend_get_parameters_ex(1, &frames) == FAILURE)    WRONG_PARAM_COUNT;  convert_to_long_ex(frames);  SWFMovie_setNumberOfFrames(movie, Z_LVAL_PP(frames));}/* }}} *//* {{{ swfmovie_streamMp3 */PHP_FUNCTION(swfmovie_streamMp3){  zval **zfile, **zskip;  float skip;  SWFSoundStream sound;  SWFInput input;  SWFMovie movie = getMovie(getThis() TSRMLS_CC);//fprintf(stderr, "newSWFSoundStream_fromInput %x %d\n", newSWFSoundStream_fromInput, getpid()); sleep(30);  switch (ZEND_NUM_ARGS()) {  case 1:  	if(zend_get_parameters_ex(1, &zfile) == FAILURE)		WRONG_PARAM_COUNT;	skip = 0;	break;  case 2:	if(zend_get_parameters_ex(2, &zfile, &zskip) == FAILURE)		 WRONG_PARAM_COUNT;	convert_to_double_ex(zskip);	skip = Z_DVAL_PP(zskip);	break;  default:    WRONG_PARAM_COUNT;  }  if(Z_TYPE_PP(zfile) != IS_RESOURCE)  {    convert_to_string_ex(zfile);    input = newSWFInput_buffer(Z_STRVAL_PP(zfile), Z_STRLEN_PP(zfile));    zend_list_addref(zend_list_insert(input, le_swfinputp));  }  else    input = getInput(zfile TSRMLS_CC);  sound = newSWFSoundStream_fromInput(input);  SWFMovie_setSoundStreamAt(movie, sound, skip);  RETURN_LONG(SWFSoundStream_getFrames(sound));}/* }}} *//* {{{ swfmovie_addexport */PHP_FUNCTION(swfmovie_addExport){  zval **zchar, **zname;  int ret;  SWFBlock block;  SWFDisplayItem item;  char *name;  SWFMovie movie = getMovie(getThis() TSRMLS_CC);  if(ZEND_NUM_ARGS() != 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -