현재 swf 10 환경에있는 오디오 레코더 구성 요소가 있습니다. 오디오를 녹음하는 동안 마이크 작동 레벨과 다른 마이크 API를 사용합니다. 현재 dhtml 런타임으로 응용 프로그램을 변환 중입니다. dhtml에서 swf 10 구성 요소를 사용할 수 있습니까?DHTML 런타임에서 openlaszlo swf 10 런타임 구성 요소를로드 할 수 있습니까?
2
A
답변
2
OpenLaszlo는 musicdhtml application 인 link to the source code in SVN의 예제 응용 프로그램을 제공합니다.
musicdhtml 예를 보려면 the JSP page에 표시된대로 두 번째 OpenLaszlo SWF 응용 프로그램을 만들어 HTML 페이지에 삽입해야합니다.
lz.embed.swf({url: 'audiokernel.lzx?lzt=swf', bgcolor: '#eaeaea', width: '0', height: '0', id: 'audiokernel'});
lz.embed.dhtml({url: 'main.lzx?lzt=object&lzr=dhtml&_canvas_debug=false', bgcolor: '#ffffff', width: '100%', height: '150', id: 'lzdhtmlapp'});
audiokernel.lzx의 너비와 높이가 0으로 설정되어 있으므로 보이지 않습니다. 두 응용 프로그램의 통합은 SWF 응용 프로그램에서 lz.embed.audiokernel.callMethod()
을 호출하고 DHTML 응용 프로그램에서 lz.Browser.callJS()
을 사용하여 수행됩니다.
<button width="40" height="22"
onclick="lz.embed.audiokernel.callMethod('audioplayer.play()')" >
그리고 audioplayer.lzx의 onframe
핸들러 :
<handler name="onframe" args="f">
//Debug.write("Got frame", f);
lz.Browser.callJS('setCanAttr', null, 'frame', f);
</handler>
lz.Browser.callJS()
을 사용하면 DHTML 응용 프로그램의 모든 메서드를 SWF 런타임 응용 프로그램에서 직접 호출 할 수 있습니다. DHTML canvas
은 JavaScript 네임 스페이스에서 전역 변수로 정의됩니다 (아주 좋은 습관은 아닙니다). lz.Browser.callJS()
을 사용할 때 DHTML의보기에서 설정 한 ID를 가진 모든 요소가 대상이 될 수 있습니다.
저는 musicdhtml 예제 응용 프로그램을 알지 못 했으므로 알아두면 좋습니다. –