none
silverlight通过js调用Flash里的方法,在page里没问题,另外一个usercontrol提示错误: 对象不支持此属性或方法 RRS feed

  • 常规讨论

  • 大家好,在silverlight里通过flash控制video,现在video可见了,而且js调用video截图也可以

    把js放置在index的html代码里面, 如果在index文件的div里加载flash,在page.xaml.cs 里触发调用没有问题

    现在把加载swf的div在page.xaml调用的另外一个独立的video usercontrol里面动态创建,再调用js触发flash,
    此时调用js方法没有问题,但到js调用flash里的方法时提示错误: 对象不支持此属性或方法

    index.html里jis代码:
            function getFlashMovieElem() {
                if (document.all) {
                    return document.all("WebcamWrapper");
                }
                else if (document.getElementById) {
                    return document.getElementById("WebcamWrapperEmbed");
                }
                return null;
            }

            var flashElem;

            function takeSnapshot() {
                if (!flashElem)
                    flashElem = getFlashMovieElem();

                if (flashElem) {
                    return flashElem.takeSnapshot();
                }
                else return "";
            }

    video.xaml.cs里的调用
                string base64Image = (string)HtmlPage.Window.Invoke("takeSnapshot");

    谢谢大家

    • 已更改类型 天使坠Moderator 2011年7月16日 13:42 涉及Flash,对此不熟,只能转为讨论
    2009年8月10日 7:19

全部回复

  • 可能由于flash是动态创建造成的,那么我改如何实现呢?

    动态创建div代码:
                string vFormat = "<div id='flashDiv'> " +
                  "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' " +
                        " codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0' " +
                        " width='180' height='140' id='WebcamWrapper' align='middle'> " +
               "<param name='allowScriptAccess' value='sameDomain' />"+
               "<param name='allowFullScreen' value='false' />"+
                        "<param name='movie' value='WebcamWrapper.swf' />" +
               "<param name='quality' value='high' />"+
               "<param name='bgcolor' value='#ffffff' />"+ 
               "<embed "+
                "id='WebcamWrapperEmbed'"+
                            "src='WebcamWrapper.swf'" +
                "quality='high'"+
                "bgcolor='#ffffff'"+
                "width='180'"+
                "height='140'"+
                "name='WebcamWrapper'"+
                "align='middle'"+
                "allowScriptAccess='sameDomain'"+
                "allowFullScreen='false'"+
                "type='application/x-shockwave-flash'"+
                "pluginspage='http://www.macromedia.com/go/getflashplayer' />"+
                  "</object>"+
                "</div>";
    2009年8月10日 7:41
  • 不知道,不过还是支持一下!
    努力!写一个js解析器,一个svg插件,一个绘图程序,做好自己,呵呵~!
    2009年8月13日 6:29
    版主
  • 由于你的答案是和Flash相关,所以有些问题没办法回答,请见谅,我把你的这个问题转为讨论贴,看没有其它的热心朋友来帮助你。
    努力!完成了js解析器,还差一个svg插件,一个绘图程序,做好自己,呵呵~!
    2011年7月16日 13:42
    版主