public static AvalonSoundChannel ToSound(this string asset) { var a = new IHTMLAudio { src = asset, autobuffer = true }; a.AttachToDocument(); //a.style.display = IStyle.DisplayEnum.none; // we can now use HTML5 audio element var x = new AvalonSoundChannel { Start = delegate { a.play(); }, Stop = delegate { a.pause(); } }; a.onended += delegate { x.RaisePlaybackComplete(); }; return x; }
/// <summary> /// This is a javascript application. /// </summary> /// <param name="page">HTML document rendered by the web server which can now be enhanced.</param> public OtherApplication(IOtherPage page) { var AudioLinks = this.AudioLinks.ToArray(); Native.Document.body.Clear(); new IHTMLButton { innerText = "open Default page" }.AttachToDocument().With( btn => { new HTML.Images.FromAssets.jsc().AttachTo(btn); btn.onclick += delegate { new IHTMLIFrame { src = "/" }.AttachToDocument(); //Native.Window.open("/", "_self"); }; } ); AudioLinks.WithEach( a => { IHTMLAudio audio = null; new IHTMLButton { innerText = a.innerText }.AttachToDocument().With( btn => { btn.style.display = IStyle.DisplayEnum.block; btn.onclick += delegate { if (audio == null) { audio = new IHTMLAudio { src = a.href }.AttachToDocument(); audio.play(); } else { if (audio.paused) audio.play(); else audio.pause(); } }; } ); } ); // XMLHttpRequest cannot load http://192.168.1.100:16304/xml?WebMethod=06000001. Origin http://www.webgljobs.com is not allowed by Access-Control-Allow-Origin. // Send data from JavaScript to the server tier //service.WebMethod2( // @"other", // value => value.ToDocumentTitle() //); }