c# windows phone zXing green screen -
i'm doing qr code reader.
when scan qr i'd navigate in page named reader.xaml stuff.
but when press button reader.xaml initial page... appears green screen , must reboot lumia 920...
i don't understand why!?!?!
i'm using zxing library.
someone can me please
public mainpage() { initializecomponent(); /* checking connection status */ bool isconnected = networkinterface.getisnetworkavailable(); if (!isconnected) { messagebox.show("no internet connection", messageboxbutton.ok); microsoft.xna.framework.game game = new microsoft.xna.framework.game(); game.exit(); } //reading value if (isolatedstoragesettings.applicationsettings.contains("iddevice")) { iddevice = (string)isolatedstoragesettings.applicationsettings["iddevice"]; } else { //insert random random = new random(); var duration = datetime.now - new datetime(1970, 1, 1, 0, 0, 0); long ticks = (long)duration.totalseconds; iddevice = ticks.tostring() + "-" + random.next(1, 2000000001).tostring(); isolatedstoragesettings.applicationsettings.add("iddevice", iddevice); isolatedstoragesettings.applicationsettings.save(); } _timer = new dispatchertimer { interval = timespan.fromseconds(2) }; gametimer gametimer = new gametimer(); gametimer.updateinterval = timespan.frommilliseconds(33); // call frameworkdispatcher.update update xna framework internals. gametimer.update += delegate { try { frameworkdispatcher.update(); } catch { } }; // start gametimer running. if (microsoft.xna.framework.media.mediaplayer.state == mediastate.playing || microsoft.xna.framework.media.mediaplayer.state == mediastate.paused) { if (messagebox.show("media playing, want stop it?", "stop player", messageboxbutton.okcancel) == messageboxresult.ok) { try { gametimer.stop(); microsoft.xna.framework.media.mediaplayer.stop(); audioplayers.source = new uri("/audioprova.mp3", urikind.relative); } catch { } } else { microsoft.xna.framework.game game = new microsoft.xna.framework.game(); game.exit(); } } // prime pump or we'll exception. frameworkdispatcher.update(); } protected override void onnavigatedto(navigationeventargs e) { _photocamera = new photocamera(); _photocamera.initialized += onphotocamerainitialized; _previewvideo.setsource(_photocamera); //camerabuttons.shutterkeyhalfpressed += (o, arg) => _photocamera.focus(); try { if (_photocamera.isfocussupported) { _timer.tick += (o, arg) => { try { _photocamera.flashmode = flashmode.off; _photocamera.focus(); } catch (exception) { } }; _photocamera.autofocuscompleted += (o, arg) => { if (arg.succeeded) scanpreviewbuffer(); }; } else { _timer.tick += (o, arg) => scanpreviewbuffer(); } } catch { _timer.tick += (o, arg) => scanpreviewbuffer(); } base.onnavigatedto(e); } private void onphotocamerainitialized(object sender, cameraoperationcompletedeventargs e) { int width = convert.toint32(_photocamera.previewresolution.width); int height = convert.toint32(_photocamera.previewresolution.height); _luminance = new photocameraluminancesource(width, height); _reader = new qrcodereader(); dispatcher.begininvoke(() => { _timer.start(); _previewtransform.rotation = _photocamera.orientation; }); } private void scanpreviewbuffer() { try { _photocamera.getpreviewbuffery(_luminance.previewbuffery); var binarizer = new hybridbinarizer(_luminance); var binbitmap = new binarybitmap(binarizer); var result = _reader.decode(binbitmap); dispatcher.begininvoke(() => checkqr(result.text)); } catch { } } private void checkqr(string link) { if (isvalidhttpuri(link) == false) { messagebox.show("error", messageboxbutton.ok); return; } else { _timer.stop(); try { _photocamera.cancelfocus(); } catch { } navigationservice.navigate(new uri("/reader.xaml?linkqr=" + link, urikind.relative)); } } when come reader.xaml appear green screen.
the link provided in question contained solution, need
"did try dispose() photocamera in onnavigatedfrom?"
Comments
Post a Comment