Integration media foundation transform with zxing library - c#-4.0

We have made an bar code and QR code scanner app for windows surface tablets 8.1. We have used ZXing library and implemented by keeping "Scan Code" button on UI.
But we want auto recognition feature without using button click. We have heard about Media Foundation transform (MFT) in .net whoch can be used to process each video frame. If we start recording video using media capture element once application launches, then MFT can be used to process each video frame automatically.
But we are not getting how to integrate MFT with ZXing library?If at all there is any paid library, let me know.

You can get autorecognition and detect any barcode/QR code in your app with this:
https://github.com/mmaitre314/VideoEffect#realtime-video-analysis-and-qr-code-detection (For decoding it uses ZXing)
Tried out and works. Just install the nuget package, and read the sample app:
https://github.com/mmaitre314/VideoEffect/tree/master/VideoEffects/QrCodeDetector

Related

How to listen playback/audio state change in UWP app

I am developing on a UWP app which need to listen playback/audio state change. such as: can know when other app start/stop to play a audio.
On Windows, I see there is an API "Windows.Media.Audio.AudioStateMonitor", but it only listen sound level change of app's own audio play.
https://learn.microsoft.com/en-us/uwp/api/windows.media.audio.audiostatemonitor?view=winrt-22621
On Android, there is an API that fully meet my requirement. AudioManager#registerAudioPlaybackCallback()
I want to query, is there any API on Windows that can listen playback/audio state change of whole Windows system. Like Android's AudioManager#registerAudioPlaybackCallback()
UWP runs in a sandbox and has no permission to access other app. UWP does not have related API support for this.
It is possible to use the Windows Core Audio API
IAudioMeterInformation::GetPeakValue to query whether the sound is playing.
Since UWP cannot directly use Win32 API, you need to write a project that uses Win32 API first, then package this project with the UWP project and realize the communication between the two project.
You can use IAudioMeterInformation this code in WPF, then use Windows Application Packaging Project to package WPF and UWP project. You can refer to this blog: UWP with Desktop Extension.

Xamarin Forms - libvlcsharp fullscreen mode

Is there way to play video in fullscreen mode in Xamarin Forms with library - libvlcsharp ?
I'm connecting to ip camera, the view is fine but not in fullscreen.
I made code for double tap detection and now I'm looking for method to do it in fullscreen by this library
Install LibVLCSharp.Forms 3.1.1-alpha, it contains a media player element with built-in support for multiple aspect ratios.
Will be released in LibVLCSharp.Forms stable soon.

Enable bitcode in Xamarin iOS

I've developed a cross platform for iOS and android using Xamarin Forms. My app uses several screens and some tjird party dependencies such as Facebook, google maps and firebase.
Everything works good until I went to compile it in release mode. Assuming I want to support both armv7 and arm64, these are the app size:
* without linking and optimization: 103mb.
* with full optimization (link all + LLVM): 73mv.
With the optimization and without armv7 I'm getting 40mb - that's my desired result size.
To solve this issue I thought that I should enable bitcode compilation. However, even with the alpha tools, including visual studio for mac and mono v5 I'm getting "platform not supported: iOS" when enabling this feature. On the other hand, I dogged at the source code and saw that mono does allow it, and besides they allows watch and tv apps, which requires bitcode...
Does anybody knows how to enable it for iOS? I'll be huge (!) assistance for me!
Thanks!
So I couldn't find any solution and had to submit my app w/o bitcode support.
However, for everyone who may tackle this issue in the future and wish to use bitcode because of app size - I want to clarify this: Bitcode, as part of iOS 9 App Thining, is only relevant to future architecture releases, i.e. Apple will auto-slice your arm7+arm64 app when you'll upload it to the App Store, without any action from your side (besides linking your code ("Link All") and supporting both architectures).
You can check the estimated app size, but you shouldn't do it in Xamarin Studio since it shows the universal app version, and not the device-specific thinned one. To check what the size will be for device X, you should:
Create Ad-Hoc Distribution profile Apple Developer Site.
Create an archive at Xamarin Studio.
Open Xcode (if it was previously opened - close an re-open).
Open the Organizer.
Click on Export, then on "Ad Hoc".
You should see a dialog asking if you want universal ipa or device specific ipa. Universal IPA is a generic IPA containing the data for every device, so you can send it to everyone. The size of this ipa will be the size you saw in Xamarin Studio (before compression). A device-specific ipa is an ipa for specific device, after performing Thining. This is the ipa your users will download. So - select the device you wish to check.
Now you'll be able to get a device-specific ipa which matches the size for this specific device. Note that the same information will appear in iTunes Connect after you'll upload your build.
See:
So to summarize it: Currently you can't use bitcode in Xamarin apps (iOS and Forms, obviously). The option does exists in mono, but not included (it was explicitly disabled in the shipped mono runtime). However, that doesn't mean that the estimated app size that's being displayed in Xamarin Studio will be your users app size, since it varies on iOS 9+ App Thining feature, which doesn't need bitcode to be activated.

Is it possible to run Adobe Air application in the browser?

I'm following this tutorial that describes the way of connecting the node.js app with adobe action script 3.0. In that way I could present live video data (received by UDP from different application) to some other user. My question is - is it possible to make the video player with received data embedded on my html/php website?
I checked the official documentation and there's a sentence:
The DatagramSocket class can only be used in Adobe AIR applications and only in the application security sandbox.
and on this forum someone wrote:
You can run an Adobe Air application FROM the browser.
But you cannot run an Adobe Air applicatin WITHIN the browser.
Indeed, Adobe Air wraps webkit (a very famous html rendering engine).
Think of Adobe Air as a shell built around an browser.
If you want to run something within the browser you can go with Flash/Flex.
But it's pretty old post, so maybe something has changed? Or maybe there's a way to convert the AIR app to Flash/Flex?
Thanks!
This can kind of be done. I'm not sure if you need it to run in the browser or not, but you could do an Install Badge. It allows the user to temporarily download the AIR file and run it on there computer from the browser through a seamless link without having to actually download and save the AIR files to there computer. You can read more here:
http://help.adobe.com/en_US/AIR/1.5/devappsflex/WS5b3ccc516d4fbf351e63e3d118666ade46-7e15.html
It is not possible.
What is ADOBE AIR?
Adobe AIR is a cross-operating-system runtime that lets developers
combine HTML, JavaScript, Adobe Flash® and Flex technologies, and
ActionScript® to deploy rich Internet applications (RIAs) on a broad
range of devices including desktop computers, netbooks, tablets,
smartphones, and TVs. AIR allows developers to use familiar tools such
as Adobe Dreamweaver®, Flash Builder®, Flash Catalyst®, Flash
Professional, or any text editor to build their applications and
easily deliver a single application installer that works across
operating systems.
Adobe AIR is used to run desktop applications rather than content in the web browser, and just like a SWF file doesn't run in the browser without Flash Player installed, an AIR application won't work on your computer without Adobe AIR installed.
In short:
Flash Player is a browser plugin that takes adavantage over browsers incase Adobe AIR supporting users by providing RIAs in the devices.
And there is two kinds of AIR developemnt available for now.
AIR with SWf: AIR SDK with actionscript libraries.
AIR with HTML: HTMl and javascript within the AIR are handled by the open source Webkit/ javascript engine.
Reference

WinJS 3.0 Apps on LG and Samsung Smart TVs

Today i've tried the WinJS 3.0 (Javascript Library from Microsoft) on my LG SmartTV with WebOS and works perfect. But i've a problem:
I' want to use my TV Remote to control de UI. I need to do this from WinJS app? or this is an implementation of the LG HTML/JS SDK?
I' want to do same with Samsung Smart TV.
Please advice
Thanks!
WinJS itself doesn't have any functionality particular to hardware devices. It's a general library that contains UI controls and things like promises and data binding, so anything you'd do specific to SmartTVs would have to come from those manufacturer's SDKs. I would imagine those SDKs would have the ability to raise events in the app that you can then handle to manage the WinJS controls used in the app's UI.

Resources