babooo voice¤Υƥ¯¥˥«¥ë¥Ρ¼¥È
2007年05月15日
babooo voice
µ»½ÑŪ¤ʥݥ¤¥ó¥Ȥϡ¢Windows´Ķ¤ǡ¢¥¯¥í¥¹¥֥饦¥¶¤Dz»À¼ǧ¼±¤ÈWeb¥¢¥ץ꤬Ϣ·Ȥ¹¤ëÉôʬ¡£
º£¤ޤǤϡ¢²»À¼ǧ¼±¤òWeb¤ǻȤª¤¦¤Ȼפ俤顢IE¸ÂÄê¤Ç Microsoft SAPI¡ÊSpeechAPI) ¤òjavascript¤ÇActiveXObject¤ò»ÈÍѤ·¤ÆÁ຤롢¤Ȥ¤¤¦Êýˡ¤¬¤¢¤ê¤ޤ·¤¿¡£
babooo voice¤Ǥϡ¢¤½¤ΡÖIE¸ÂÄê¡פò̵¤¯¤¹¹©ÉפƤ¤¤ޤ¹¡£ ¤½¤ξܺ٤ˤĤ¤¤Ƥ³¤³¤Ǥ´¾Ҳ𤷤ޤ·¤礦¡£
babooo voice¤Ǥϡ¢²»À¼ǧ¼±¥¨¥ó¤Ȥ·¤ơ¢Âç¸ì×ÃϢ³²»À¼ǧ¼±¥¨¥ó Julius¤ò»ÈÍѤ·¤Ƥ¤¤ޤ¹¡£ Windows¤Υ³¥ޥó¥ɥ饤¥ó¤Çưº¤ơ¢¥ޥ¤¥¯ÆþÎϤÇư¤«¤·¤Ƥ¤¤ޤ¹¡£
¤µ¤ơ¢Julius¤Îǧ¼±¤·¤¿·ë²̤Îʸ»úÎó¤òWeb¥¢¥ץê¤ËÅϤ¹¤Ȥ³¤í¤Ǥ¹¡£
Windows¥¢¥ץê¤ȡ¢Web¥¢¥ץê¤òϢ·Ȥµ¤»¤ëÊýˡ¤Ϥ¤¤¯¤Ĥ«¤¢¤ꡢºǶá¤ˤʤäƤޤ¿¤¤¤¯¤Ĥ«Áý¤¨¤ޤ·¤¿¤͡£
- Windows¥¢¥ץ꤬¥µ¡¼¥ФËPOST¤·¤ơ¢Web¥¢¥ץê¤ϥµ¡¼¥ФÎÊѲ½¤ò¥ݡ¼¥ê¥ʤޤ¿¤ÏComet¡ˤ·¤Æȿ±Ǥµ¤»¤ë
- ¥í¡¼¥«¥ë¤˥µ¡¼¥ФòΩ¤Á¤¢¤²¤ÆWeb¥¢¥ץ꤬¥í¡¼¥«¥ë¤Υµ¡¼¥Фò¥ݡ¼¥ê¥¹¤ë
- Apollo¤ȥ֥饦¥¶Æâ¤ÎFlash¤ȤÎLocalConnection
- Widget
- ¤ޤÀ¤ޤÀ¤¢¤ꤽ¤¦¤Ǥ¹¡£¡£
¤½¤줾¤ìÆÃħ¤¢¤ê¤ޤ¹¤¬¡¢º£²ó¤ϥ¤¥ȡ¼¥뤬´Êñ¤«¡¢¤Ȥ¤¤¦¤Ȥ³¤í¤ò½Ż뤷¤ơ¢Windows¥¢¥ץ꤬ľÀܥ֥饦¥¶Æâ¤ÎFlash¤ÈLocalConnection¤ÇÄ̿®¤¹¤롢¤Ȥ¤¤¦¤³¤Ȥò¤ä¤äƤ¤¤ޤ¹¡£
LocalConnection¤ϡ¢Win32¤Ǥϥߥ塼¥ƥ寥¹¤ò»ȤäÆÇÓ¾¤·¤ʤ¬¤é¥ե¡¥¤¥ë¥ޥåԥò»Ȥäƥץí¥»¥¹´ÖÄ̿®¤·¤Ƥ¤¤ޤ¹¡£ »²¹͡§OSFlash The LocalConnection explained
babooo voice¤Ǥϡ¢Julius¤Îǧ¼±·ë²̤òWindows¥¢¥ץ꤬¼õ¤±¼è¤ꡢ¥ե¡¥¤¥ë¥ޥåԥ˽ƥ֥饦¥¶Æâ¤ÎFlash¤¬Æɤè¤롢¤Ȥ¤¤¦ή¤ì¤Ǥ¹¡£
º£²»À¼ǧ¼±·ë²̤ò¥֥饦¥¶¤ËÅϤ¹¤Ȥ³¤í¤òÈÆÍѲ½¤·¤¿¤Τǡ¢¤¢¤ʤ¿¤ÎWeb¥¢¥ץê¤Ǥâ´Êñ¤˲»À¼ǧ¼±¤ò»Ȥ¨¤ޤ¹¡ª
ÍѰդ¹¤ë¤ΤÏ
LCReceiver.swf
¥֥饦¥¶¤Dz»À¼ǧ¼±·ë²̤ò¼õ¤±¼è¤ëFlashÊѹ¹¤ÎɬÍ×̵¤·¡¢¥ڡ¼¥¸Æâ¤ËÃ֤¤¤Ƥª¤±¤Ðokjavascript¥³¡¼¥É
LCReceiver.swf¤«¤éexternalInterface.call¤Dz»À¼ǧ¼±·ë²̤ò¼õ¤±¼è¤ꡢ¥ե©¡¼¥à¤òËä¤á¤ëÅù¥ڡ¼¥¸¤Ëȿ±Ǥµ¤»¤ëvoicerecon.ini
Windows¥¢¥ץ꤫¤éÁ÷¤ëLocalConnection¤Ρ¢ÀßÄê¥ե¡¥¤¥ëhttp://babooo.kayac.com/html/run_voicerecon.zip¤ÎÃæ¤ˤ¢¤ë¥ե¡¥¤¥ë¤¼¥ӥ¹¤Υɥᥤ¥ó¤˹ç¤碌¤ÆÊѹ¹¤·¤ޤ¹voicerecon.exe ¤ÈƱ¤¸¥ѥ¹¤ËÃ֤¤¤Ƥ¯¤À¤µ¤¤
¤¢¤Ȥϡ¢LCReceiver.swf¤Èjavascript¥³¡¼¥ɤΤ¢¤ë¥ڡ¼¥¸¤ò¥֥饦¥¶¤dz«¤¤¤ơ¢run_voicerecon.exe ¤òᤱ¤ÐOK¡£
¤½¤줾¤쥽¡¼¥¹¤Ϥ³¤ó¤ʴ¶¤¸¤Ǥ¹¡£
¡ÚLCReceiver.as¡Û
package {
import flash.display.*;
import flash.net.*;
import flash.events.*;
import flash.external.ExternalInterface;
public class LCReceiver extends Sprite{
private var lc:LocalConnection;
public function LCReceiver(){
log("[swf][LCReceiver]");
lc = new LocalConnection();
lc.allowDomain("*");
lc.client = this;
try{
lc.connect("LLC");
}catch(err:ArgumentError){
log("[swf][LCReceiver]Cant connect");
}
}
public function JSBridge(msg1:String):void{
log("[swf][LCReceiver][test]msg1: "+msg1);
if (ExternalInterface.available) {
ExternalInterface.call("LCReceived", msg1);
}
}
}
}
¡Újavascript¡Û
var llc = new SWFObject("http://yourdomain.com/LCReceiver.swf", "externalInterfaceLCReceiver", "1", "1", "9", "#000000" );
llc.write("some_div_id");
function LCReceived(str){
console.log("[LCReceived] str: "+str);
}
¡Úvoicerecon.ini¡Û
[target] domain=yourdomain.com connection=LLC method=JSBridge
º£²ó¤Υ½¡¼¥¹
- Åê¹ƼÔ
ohtsuka






