public void setLocalDescription(RTCSessionDescription description, IFunction successCallback)
 {
 }
 public void addIceCandidate(RTCIceCandidate candidate, IFunction successCallback, Action <object> failureCallback)
 {
 }
示例#3
0
文件: IFunction.cs 项目: wclwksn/code
 static Expando CreateType(IFunction f)
 {
     return(default(Expando));
 }
示例#4
0
文件: IFunction.cs 项目: wclwksn/code
 public static object Invoke(IFunction f, object a0, object a1, object a2)
 {
     return(null);
 }
示例#5
0
 // 35	    void file(FileCallback successCallback, optional ErrorCallback errorCallback);
 // hide it?
 public void file(IFunction successCallback)
 {
 }
示例#6
0
文件: IFunction.cs 项目: wclwksn/code
 public static void Export(string name, System.Action h)
 {
     IFunction.Of(h).Export(name);
 }
示例#7
0
        //[Script(OptimizedCode = "return e.split(d);")]
        //public static IArray<TItem> Split(TItem e, char d)
        //{
        //    return default(IArray<TItem>);
        //}

        public void sort(IFunction e)
        {
        }
 //public static void requestPermission(Action<string> callback) { }
 public static void requestPermission(IFunction callback)
 {
 }
        public void getUserMedia(
            Action <LocalMediaStream> successCallback,
            bool video = true,
            bool audio = false,
            Action <NavigatorUserMediaError> errorCallback = null)
        {
            // http://www.guanotronic.com/~serge/papers/chi15-webcam.pdf
            // X:\jsc.svn\examples\javascript\async\test\TestGetUserMedia\TestGetUserMedia\Application.cs

            // http://www.html5rocks.com/en/tutorials/getusermedia/intro/

            var fgetUserMedia = (IFunction) new IFunction(
                "return navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;"
                ).apply(null);

            // Failed to execute 'webkitGetUserMedia' on 'Navigator': The callback provided as parameter 3 is not a function.


            if (errorCallback == null)
            {
                errorCallback =
                    err =>
                {
                    // 93ms getUserMedia error { code = , err = [object NavigatorUserMediaError] }
                    //
                    // X:\jsc.svn\market\javascript\Abstractatech.JavaScript.Avatar\Abstractatech.JavaScript.Avatar\Application.cs
                    Console.WriteLine("getUserMedia error " + new { err.code, err.message, err.name });

                    // how about returning null?
                };
            }

            // https://w3c.github.io/mediacapture-main/getusermedia.html#idl-def-MediaTrackConstraints
            // https://code.google.com/p/chromium/issues/detail?id=160337

            // https://gumcameraresolutions.azurewebsites.net/


            dynamic __video = video;

            if (video)
            {
                // https://github.com/GoogleChrome/chrome-app-samples/blob/master/samples/camera-capture/app.js

                // HD please.
                // TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': Malformed constraints object.
                // https://chromium.googlesource.com/chromium/blink/+/master/Source/modules/mediastream/MediaConstraintsImpl.cpp

                //__video = new { height = 720 };
                // https://gumcameraresolutions.azurewebsites.net/js/quickscan.js

                // MediaTrackConstraints
                //__video = new
                //{
                //    mandatory = new
                //    {
                //        maxWidth = 1280,
                //        minWidth = 1280,
                //        minHeight = 720,
                //        maxHeight = 720
                //    }
                //};

                //__video = new object();
                //__video.mandatory = new object();
                //__video.mandatory.maxWidth = 1280;
                //__video.mandatory.minWidth = 1280;
                //__video.mandatory.minHeight = 720;
                //__video.mandatory.maxHeight = 720;
            }

            var constraints = new { video = __video, audio };

            Console.WriteLine(new { constraints });

            fgetUserMedia.apply(Native.window.navigator,
                                constraints,
                                IFunction.OfDelegate(
                                    successCallback
                                    ),
                                IFunction.OfDelegate(
                                    errorCallback
                                    )
                                );

            //navigator.getUserMedia_ = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
        }
示例#10
0
 public int setInterval(IFunction code, int time)
 {
     return(default(int));
 }
示例#11
0
 public int setTimeout(IFunction code, int time)
 {
     return(default(int));
 }