PoE :: Component :: Audio :: MAD :: Dispatch.

POE :: ±¸¼º ¿ä¼Ò :: ¿Àµð¿À :: MAD :: Dispatch´Â PoE :: Component :: Audio :: MAD Front ¿£µå°¡ ¸®½º³Ê ±â¹Ý ¸Þ½ÃÁö ÆÄ°ßÀ» ±¸ÇöÇÕ´Ï´Ù.
Áö±Ý ´Ù¿î·Îµå

PoE :: Component :: Audio :: MAD :: Dispatch. ¼øÀ§ ¹× ¿ä¾à

±¤°í

  • Rating:
  • ƯÇã:
  • Perl Artistic License
  • °¡°Ý:
  • FREE
  • °Ô½ÃÀÚ À̸§:
  • Mark McConnell
  • °Ô½ÃÀÚ À¥»çÀÌÆ®:
  • http://search.cpan.org/~mischke/Audio-Mad-0.6/lib/Audio/Mad/Stream.pm

PoE :: Component :: Audio :: MAD :: Dispatch. ű×


PoE :: Component :: Audio :: MAD :: Dispatch. ¼³¸í

PoE :: Component :: Audio :: MAD :: Dispatch´Â PoE :: Component :: Audio :: Mad Front ¿£µå°¡ ¸®½º³Ê ±â¹Ý ¸Þ½ÃÁö ÆÄ°ßÀ» ±¸ÇöÇÕ´Ï´Ù. PoE :: Component :: Audio :: MAD :: Dispatch´Â PoE :: Component :: Audio :: Listener ±â¹Ý ¸Þ½ÃÁö Dispatch¸¦ ±¸ÇöÇÏ´Â MAD FRENTENDÀÔ´Ï´Ù. Synopsis PoE¸¦ »ç¿ëÇϽʽÿÀ. PoE :: Component :: Audio :: MAD :: Dispatch; ## ¿ì¸®´Â ¾Æ·¡¿¡ ¹°°ÇÀ» ÀμâÇÏ°í, ¿ì¸®´Â ±×°ÍÀ» ¿øÇÏÁö ¾Ê´Â´Ù. $ | = 1; ## Frontend ¼¼¼ÇÀ» »ý¼ºÇÕ´Ï´Ù. µðÄÚ´õ¸¦ ¸¸µì´Ï´Ù. PoE :: Component :: Audio :: Mad :: Dispatch ({decoder_play_on_open => 1, alias => mad) -Decoder '}); POE :: Session-> create (inline_states => {_Start => ex_start, mad_decoder_input => ex_input}); sub ex_start {my ($ kernel, $ heap, $ session) = @_ ; ## ¸®½º³Ê·Î ÀÚ½ÅÀ» Ãß°¡ÇÏ°í DECODER_FRAME_DATA ¹× ## IPC_SHUTDOWN_SUCCESS À̺¥Æ®¿¡ µî·ÏÇϽʽÿÀ. µðÄÚ´õ ÄÚ¾î´Â ´ÙÀ½ ## À̺¥Æ®°¡ µµÂøÇÒ ¶§ ÇöÀç ¼¼¼Ç¿¡¼­ ## 'mad_decoder_input'»óŸ¦ È£ÃâÇÕ´Ï´Ù. ## ÀÌ°ÍÀº ¶ÇÇÑ À̺¥Æ® ¾Ë¸² ¸ñ·Ï¿¡¼­ ## ¼¼¼ÇÀ» ÂüÁ¶ÇÏ¿© ÂüÁ¶¸¦ À¯ÁöÇÏ´Â µ¥ Ãß°¡µÇ¾ú½À´Ï´Ù. ¿ì¸®ÀÇ ¼¼¼ÇÀº ¿ì¸®°¡ µî·Ï µÈ ûÃëÀÚ Àθ¸Å­ ¿À·¡ »ì¾ÆÀÖÀ» °ÍÀÔ´Ï´Ù. $ heap -> {lid} = $ kernel-> call ( 'mad-decoder', 'add_listener', $ session, 'mad_decoder_input', ); ## ¿ì¸® µðÄÚ´õ°¡ ½ºÆ®¸²À» ¿¬ÁÖÇϱ⠽ÃÀÛÇϽʽÿÀ .. $ kernel-> post ( 'mad-decoder', 'decoder_open', {filename => / path/to/stream.mp3 ', play => 1}); } sub ex_input {my ($ kernel, $ heap, $ msg) = @_ ; ## µðÄÚ´õ°¡ µî·ÏÇÑ À̺¥Æ® ##À» »ý¼º ÇÑ °æ¿ì¿¡ È£ÃâµË´Ï´Ù. ¸Þ½ÃÁö ÆÐŶÀº arg0¿¡ Æ÷ÇԵǾî ÀÖÀ¸¸ç ## fields -> {id} ¹× -> {data}°¡ÀÖ´Â hashrefÀÔ´Ï´Ù. ID À̺¥Æ®ÀÇ ## À̸§À» ÁöÁ¤ ÇϸçÀÌ À̺¥Æ®¿¡ Æ÷ÇÔ µÈ µ¥ÀÌÅÍ¿¡ ´ëÇÑ ÂüÁ¶°¡ Æ÷ÇԵ˴ϴÙ. ($ msg -> {id} EQ 'DECODER_FRAME_DATA') {## ¸Þ½ÃÁö¸¦ ¾÷µ¥ÀÌÆ®ÇÏ´Â ¸Þ½ÃÁö°¡ ³ªÅ¸³³´Ï´Ù. Player ## ÁøÇà »óȲ¿¡¼­ À̺¥Æ®ÀÇ µ¥ÀÌÅÍ ºÎºÐÀº ´ÙÀ½°ú °°½À´Ï´Ù. -> {Àç»ý} ¹× -> {ÁøÇà}, ## Àç»ýÀº ½ºÆ®¸² ## ¿¬ÁÖÀÇ ÃÊ ¼öÀÔ´Ï´Ù. "Àμâ"rplayed : $ msg -> {data} -> {played} "(Á¤ÀÇ µÈ ($ msg -> {data} -> {played})); } ELSIF ($ msg -> {id} eq 'input_eof_warning') {## ¿ì¸®´Â ## µðÄÚ´õ ½Ã½ºÅÛÀÌ ## ÇöÀç ½ºÆ®¸²ÀÇ ³¡¿¡ ³ª¿À°ÔµÇ¾ú´Ù°í ¸Þ½ÃÁö¸¦ ¾Ë·ÁÁÝ´Ï´Ù. ¼Ë´Ù¿î .. Àμâ "nshutting down..n"; $ kernel-> post ( 'mad-decoder', 'decoder_shutdown'); } else {## ¾Ë ¼ö¾ø´Â ¸Þ½ÃÁö´Â ÀϾÁö ¾Ê¾Æ¾ßÇÕ´Ï´Ù. ## ¿ì¸®´Â ±×µé°ú ÇÔ²² ¹º°¡ ¹º°¡¸¦ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ## ¿©±â¿¡¼­. ´Ü¼øÇÔÀ» À§ÇØ, ¿ì¸®´Â ´ÜÁö ±×°ÍÀ» ¹«½ÃÇÕ´Ï´Ù. ¹ÝÇ°; }} ##ÀÌ ÀÏÀ» ½ÃÀÛÇϽʽÿÀ. $ PoE_Kernel-> run (); exit (); PoE :: Component :: Audio :: MAD :: Dispatch´Â PoE :: Wheel :: Audio :: MAD MPEG Decoder¿¡ ´ëÇÑ ´ÙÁß µð½ºÆÐÄ¡ ÇÁ·±Æ® ¿£µå ±¸¼º ¿ä¼Ò¸¦ ±¸ÇöÇÕ´Ï´Ù. ±×°ÍÀº µðÄÚ´õ¿¡¼­ »óÅ ¸Þ½ÃÁö¸¦ ¼ö½ÅÇÏ¿© ´Ù¸¥ µî·Ï "¸®½º³Ê"¼¼¼Ç¿¡ Àü´ÞÇÕ´Ï´Ù. PoE :: Wheel :: Audio :: MAD (3) °¡ÀÌ ±¸¼º ¿ä¼Ò ¼¼¼Ç¿¡¼­ Á¤Àǵ˴ϴÙ. µðÄÚ´õ¸¦ Á¦¾îÇϱâ À§ÇØ ÀûÀýÇÑ PoE :: Wheel :: Audio :: MAD »óŸ¦ÀÌ ¼¼¼Ç¿¡ °Ô½ÃÇϽʽÿÀ. ´Ù¸¥ PoE :: ¼¼¼Ç¿¡¼­ Á¦¾î ¹× / ¶Ç´Â ¸ð´ÏÅ͸µ ÇÒ µðÄÚ´õ¸¦ ±¸ÇöÇÏ·Á´Â °æ¿ì, ÀÌ°ÍÀº »ç¿ëÇÏ·Á´Â ¸ðµâ. IPC ºê¸®Áö¸¦ ÅëÇØ µðÄÚ´õ¸¦ ±¸ÇöÇÏ·Á¸é PoE :: Component :: Audio :: MAD :: Handle. ¿ä±¸ »çÇ× : ¡¤ Perl.


PoE :: Component :: Audio :: MAD :: Dispatch. °ü·Ã ¼ÒÇÁÆ®¿þ¾î

À̸ð¸ð

IRMO ÇÁ·ÎÁ§Æ®´Â ÀϹÝÈ­ µÈ Ŭ¶óÀ̾ðÆ® - ¼­¹ö ¸ÖƼ Ç÷¹ÀÌ ¿£ÁøÀÔ´Ï´Ù. ...

153

´Ù¿î·Îµå