We need to display our Android screen on a PC. We don't want to remotely control the device. We tried applications like androidscreencast, droidAtScreen etc. But their fps is very less. Is there any better application that can do this? Could you please suggest?
There is no way you can get higher FPS. Android has a limit of screenshots/second, it has something to do with the amount of time it takes to request the framebuffer, so live screen apps cannot exceed that frame rate.
There is a built in functionality in Android, Use DDMS perspective in eclipse or DDMS application itself, there is an option "Capture Screen", it will give you screenshots not real live android screen. You will have to refresh to show current state of your android screen. See if there is any way to capture live too, I haven't found so.
Related
We are developing our own Android-based hardware and we wish to use Vuforia (developed via Unity3D) for certain applications. However, we are having problems making Vuforia work well with our current camera orientation settings.
On our hardware, when the camera is placed horizontally - everything works fine. That is, when the camera is parallel to the placement of the display. However, we need to place the camera vertically, or in other words, with a 90 degree difference to the placement of the display. These are all hardware settings. Our kernel is programmed according to such settings and every other program that utilises the camera works compatibly with everything, including our IMU sensors. However, apps developed with Vuforia behave completely odd when the camera is placed vertically.
We assume the problem to be related to Vuforia's algorithms of processing raw camera data however we are not sure. Moreover, we do not know how to fix the situation. For further details, I can list:
-When "Enable Video Background" is on, the projected image is distorted and no video feed is available. The AR projection appears on a black background with distorted dimensions.
-When "Enable Video Background" is on and the device is rotated, the black background is replaced by flickering solid colors.
-When "Enable Video Background" is off, the AR projection has normal dimensions (no distortion) however it is tracked with wrong axis settings. For example, when the target moves left in real world, the projection moves up.
-When "Enable Video Background" is off and the device is rotated, the AR projection is larger compared to its appearance when the device is in it's default state.
I will be glad to provide any more information you need.
Thank you very much, have a nice day.
PS: We have found out that applications that use the camera as a main purpose (Camera apps, Barcode Scanners, etc) work fine while apps for which camera usage is an extra quality (such as some games) have the same problem as Vuforia. This make me think that apps who access the camera directly work fine whereas those who use Android API and classes fail for some reason.
First understand that every platform deals with cameras differently and that beyond this different android phone manufacturers deal with these differently as well. In my testing WITHOUT vuforia I had to transform the plane I cast the video feed onto 0,-90,90 for android/iphone and -270,-90,90 for the windows surface tablet. Past this the iPhone rear camera was mirrored, the android front camera was mirrored as well as the surface front camera. That is easy to account for, but an annoying issue is that the Google Pixel and Samsung front cameras were mirrored across the y (as were ALL iOS on the back camera), but the Nexus 6p was mirrored across the x. What I am getting at here is that there are a LOT of devices to account for with android so try more than just that one device. Vuforia so far has dealt with my pixel and 4 of my iOS devices just fine.
As for how to fix your problem:
Go into your player settings for unity and look at the orientation. There are a few options here and my application only uses portrait so I force portrait and it seems to work fine (none of the problems I had to account for with the above mentioned scenario). Vuforia previously did NOT support auto rotation so you need to make sure you have the latest version since it sounds like that is what you need. If the auto rotate is set and it is not working right you may have to account for that specific device (don't do this for all devices until after you test those devices). To account for that device use an if (or construct a case statement if you have multiple instances of this problem with different devices) and then reflect or translate as needed. Cross platform development systems (like unity) doesn't always get everything perfect since there is basically no standard. In these cases you have to directly account for them by creating a method and a case statement within that so you can cleanly and modularly manipulate all necessary devices. It is a pain, but it beats developing for all devices separately.
One more thing is make sure you check out the vuforia configuration file as it has some settings such as camera mirror and direction settings on there. These seem to be public settings so you should also be able to script to these in your case statement in the event you need to use "Flip Horizontally" for one phone, but not another.
I have a few projects with flash that i'd like to turn into apps for mobiles, I started reading adobe air and i've noticed that it uses back some things like inframe action script, something that I have not done since as2.
Is there a way to load scripts and classes like a normal flash file?
If I have a noncomplicated swf, is there a way to migrate it easily into adobe air for android and iOs?.
I've been struggling to find examples of adobe air projects, does anyone have a tip for this?
It is easy. I have converted 30 games to run on iOS and Android. The biggest problem was that they were in AS2 and had to be converted to AS3 first. If your uncomplicated swf projects are in AS3, and developed using Flash Pro, then just change the publishing output from swf for a web page to iOS pr Android. Android would be easier to start because you don't need to get an Apple developer account, create a certificate and provisioning file. With Android you can create a certificate right in Flash Pro. You test publish on your pc or mac first. When you are ready to test on a device you create an ipa (iOS) or .apk (Android).
Yes, there are a lot of screen sizes out there. But you know how you can create Flash in a web page so that it will resize with the page and keep its aspect ratio? Well its the same on mobile - it will resize to fit whatever mobile screen it displays on. Most likely your game is in landscape orientation. Just keep it that way and test it on whatever device you have (an iPad would be good because that aspect ratio or 1024 x 768). Actually, we kept the stage to 736 x 552 and that fit on any screen out there. On tall (wide) screens like the iPhone 5 & 6 you will have space on the sides, but so what.
Just give it a shot and you'll see how easy it is to write an app for both platforms at the same time. And you don't even have to own a Mac (you only need one to upload your completed app to the store, but you can rent time on one and log into it for 10 minutes to do that.)
There's no "how to" when porting a Flash project to Ios or Android. It's the same technology so it's compatible in theory. You can simply compile and publish and you'll get a Ios and Android app in most cases. Now there's 3 major problems that probably 100% of Flash projects will face when publishing for mobile and in probably 99% of cases those problems might imply recreating the whole thing from scratch.
First problem: Sizing and Density. So many phones/tablets sizes and density, chances are your Flash project doesn't have a single line of code dealing with that and as a result your app won't display correctly across any mobile devices. You'll have to put together a big piece of code to handle that and make sure it doesn't break anything in the original project. Good Luck with that.
Second Problem: Performance and memory management, I'm yet to see a Flash project that doesn't systematically waste CPU and memory constantly. That's no problem for a Flash project except when publishing for mobile: can we still waste CPU power? NO, can we still waste memory: NO. You'll have to go through your entire Flash project and optimize everything to not waste CPU and memory. Once again Good Luck with that.
Third Problem: assets. Did you use a bunch of MovieClip here and there? Well no more on mobile unless you want your app to lag and drain the battery down and make the user experience as bad as possible. All assets have to be optimized for mobile, the right asset, the right type, the right size or else ... lag and bad experience. Here again Good Luck with that.
And this is just a small run down of the problems you'll be facing. You will spend probably hundreds of hours trying to port that Flash project to mobile and at the end it will still be running bad anyway. Chances are you should just start over.
EDIT:
Simple Guidelines:
render mode: usually "gpu" (very efficient with bitmap) but "cpu" is also possible (you get more CPU power but less bitmap display efficiency) and also "direct" if you want to use Stage3D (more complicated).
Display: usually bitmap and only rarely vector. Don't oversize them and don't undersize them either. Reuse as much as possible (saves memory and battery)
Handling sizes and density: scaling your content is the easy way but not the less efficient one, as long as your bitmaps are of good quality you should be able to get a good resolution in most density and size. Because there's so many different sizes out there you'll decide if you want your content to fit any size or to display as much as possible while filling the side gaps. AIR/Flash has no built-in system for handling that so you'll have to create your own or to find something open source out there that can do that. Basically you have a content that is n x n and it needs to display on a mobile screen that is n x n, you calculate the scale factor and scale your content and center it.
perf, memory, battery: reuse object as much as possible. If there's a bitmap that you'll use often don't get rid of it just reuse it. If you reuse you don't need more CPU, don't need more memory and don't need more battery.
how to get perf: displaying something and running code, that's the 2 things that will slow down the app so optimize both and test often. Maybe reducing the quality of some bitmap will boost your perf. maybe optimizing your code in some places will get you a few more fps, etc. This is a per project try and test.
In Android Studio we can both capture and record screen on our devices. When capturing the screen we have the option to directly frame our screenshot in device art or use online tool http://developer.android.com/distribute/tools/promote/device-art.html
When Recording Screen there is no option to frame it in device art and Google don't seem to provide any online option either.
What would be the fastest and easiest way for developers that want to showcase their screen recording in a frame from device art where a new video is created where device art is wrapped around our screen recording.
Give away your best tip. I would love a fast, free online service that solves this and guess there is one out there.
I've spent a substantial amount of time researching, but could also not find a service for it.
I have however written a guide for how to record screen, add device frame and convert to gif, which you can find here:
http://appdictive.dk/blog/how-to/2015/04/20/google_plus_gif/
The short version of it is:
Record screen
Get Device frame picture
Use Photoshop or other video editing software to add the frame as static picture to the video (guide briefly shows how to do this in Photoshop).
Hope this helps others searching for a solution to this as well.
There are very few services I've come across on the web that allow you to simply upload a video within device art frames, especially free platforms. However, if you have video editing software such as Adobe After Effects, you could import images and videos and create this yourself; albeit added cost and time against the earlier option.
Despite the above, I've managed to utilise Google's Device Art Generator page to extract the device frames they offer quite easily. All you need to do is create a solid background colour in Adobe Photoshop (as an example), say bright green, followed by uploading this to the generator. Download the image generated with the device art applied with the solid fill colour and then use the Magic Wand tool in Photoshop and simply delete the solid colour. With this in mind, the next course of action is to simply insert the video using After Effects in the transparent space now available. This is even a bit overkill, as you only need to overlay the video within the screen dimensions of the generated screenshot from Google, yet this gives you an idea of how you could achieve what you want.
I had the same problem and ended up writing an app to do that:
https://play.google.com/store/apps/details?id=de.mobilej.recapp
It works completely on the device - no plugin or desktop version yet. It needs Android 7.0+
I'm the author of the app - so sorry for referring to my own app.
I'm making a flash game this week, it needs to be compatable with both PC browsers and Android devices.
I have no problem making two slightly different versions of the game, one optimized for PC and the other optimized for mobile devices. I'm just wondering if there's anything in particular that I should keep in-mind when I'm building the first PC edition of the game, I don't want it to be too difficult to port the game over to android.
One thing that I'm concerned about is the screen size/stage size, should I have the game adjust it's self to fill the whole client area (like a youtube video in full screen) with a dynamic width and height?
Is there anything else that I should be aware of before I start on this? Like specific flaws in the android deployment of flash.
Thanks for your advice on this, it's much appreciated.
There were more number of restrictions when i started developing flash apps for android.
We need the device's processor at least 1GHz [This i am not aware of current situation , coz i am a little busy with xCode]
Screen resolution always plays more role in troubling you. For this instead of using screen size as reference , use the aspect ratio. Use flash.capabilities class's screenResolutionX and screenResolutionY and make your game objects resize them accordingly
I need to take thumb impression in my android pad application.When the user press the thumb on the pad screen his thumb impression i need to get in JPEG format image.Please any one know replay.
To my knowledge this can't be done.
Capacitative screens (which would detect a thumb) are not sensitive enough to get a fingerprint. Cool idea though... Maybe consider using the camera (though it would have to be pretty high quality).
I can suggest you one alternative rather than taking finger print .. There few apps developed on android which basically recognizes your pressure not your fingerprint and it resembles that they are taking your finger print.
Have a look at it.. I don't know if it solves your problem. !
5 Best fingerprint lock app for Android
Android does not do fingerprint recognition. If you are talking about those apps that "claim" to do it by you holding your finger against the screen ... its a bit of a con. They don't really scan your finger print ... they are just testing area and pressure (if that).
First, don't ask for code. This place is not for giving out code but snippet or help. You're asking for someone to publish complex code here...that's ridiculous.
Second, if there was a library available for FingerPrint recognition. I highly doubt you could even do anything with it. Why?
Phones don't have hardware to capture fingerprints. A screen cannot capture images but only pressure levels and they aren't really accurate too. The camera on the phone cannot capture macros unless you mount a microscope lense.
So if you really want my advice, give up on it. With the current hardware available it is not coming soon to android. When there will be hardware I believe there will be an api provided for it.
What you can do on the other hand is voice recognition, face recognition. I don't have any idea how it can be done but the hardware is there. You could even make a hand recognition.
Finger prints forget it.