Capture and manipulate screen output in real time - Java for Android App Development

Hi,
i know this is a kinda unusual question, but is there any way to capture > manipulate > output the screen in real time? Are there any APIs providing something similar and is the device hardware capable of doing so?
Thanks alot for your input

Did you try with ADB? (it may not work depending on hardware)
adb screenrecord

Related

Forcing VGA to QVGA

I'm developing an application and currently have a Universal which has a VGA resolution.
I'm wanting to test it on non-VGA screens and was wondering if there was a hack, utility or way of forcing the screen to go down to QVGA?
Anyone know if this can be done?
dont the emulator support whatever res you set ?
The emulator does yes, but I'm now wanting to test on an actual device.
The AutoScale properties I don't 100% trust (past experience).
I'm surprised there's no library call to change the resolution, or if there is, I can't seem to see one anywhere.

[solved] How to prevent standby using VB.NET?

Hallo!
I'm working on an application called hTorch and although it is my first vb.net app I was quite successfull so far (at least I hope so ). But one think I'm just not able to achieve: Preventing the device from going into standby/suspend while the app is running.
In C++/C# there semes to be a system call "SystemIdleTimerReset()" but either there is no equivalent for vb.net or I was not able to find it.
Another thought was to modify the according registry key (HKLM\System\CurrentControlSet\Control\Power\Timeouts\BattSuspendTimeout) and to restore the original settings on program exit. This works fine except that WM does not apply the settings change immediately when it's done via registry. Again I did some research and again I only found a solution for C++/C# only. A system call named "NWUS_MAX_IDLE_TIME_CHANGED" tells the OS that the settings have changed and should be reread. I wasn't able to find something similar for vb.net though.
Does anybody know a solution for my needs?
Maybe someone could provide me with some sample code how he achieved this within vb.net?
Maybe some C++/C# programmer has build a library to access the power functions?
I would be really thankful for any help/hint you can give me!
Thanks in advance,
DeepThought
The standby mode is in the registry. Make a timer in VB.net and set it with an interval of about 5000 ms. Then make sure that ever time the timer ticks the standby mode will be disabled in the registry
Thank you for the quick response!
But the change via registry doesn't work. When I change the BattSuspendTimeout to 0 that does change the setting correctly. But they become not active. Only after a soft reset. It seems, that you somehow have to notify windows, that the settings have changed. Otherwise the will not be reread.
Any Idea how to achieve that?
I would also like to know if there is a way to prevent suspend.
I think only the pocket pc winmo versions do a real suspend where wifi and applications stop processing, and the smartphone winmo devices only kind of black the screen.
The only software I know is S2U2 which successfully can prevent "real suspend" and let e.g. my led notification work correctly.
Cause i cannot really use it on ks20 due to compatibilty issues i would be very interested in a reg hack, or (if there really is no reghack, i tried alot) some code snipets with which i could build a little app.
There's a pretty good article on CodeProject covering power.
*digs out link*
Here you go - http://www.codeproject.com/KB/mobile/WiMoPower1.aspx
It covers:
* Displaying the voltage, current, and temperature of your device's battery
* Changing the power state of hardware within the device
* Enumerating the hardware in a Windows Mobile Professional device
* Enumerating the power modes that a Windows Professional device supports
* Preventing a device from sleeping
* Toggling the state of the screen's backlight
* Waking up the machine to perform work without alerting the user or turning on the screen
[solution]
Thanks to AndyZap I can now answer the question myself
It is so simple, that I'm really ashamed now.
The magic word for me was PInvoke. Since I new the function I was searching for was an available win32 systemcall the missing link was how I can make this system call within vb.net.
So the actual solution are just two lines:
Code:
Declare Sub IdleTimerReset Lib "coredll.dll" Alias "SystemIdleTimerReset" ()
where "IdleTimerReset" is the name I've given the Sub. Which than just needs to be called like:
Code:
IdleTimerReset()
NOTE: This just resets the Idle timer once. So if you want to prevent the device from going into standby you have to reset this timer every time before it reaches the threshold. (The windows default setting is 60 seconds AFAIK).
THANK YOU AndyZap for your Help via PMail!
DeepThought
Thank you for your answer Northernmost!
I really love this community!

How to change the screen resolution ?

well.. this is the question.. my resolution is 480x234. somebody know how to change it for a 800x400 res? i seen many videos of youtube with this resolution and compared with my 480x234 is a BIG difference in quality...i think , and im sure its possible.. ,
i seen in the internet a page (search in google for wincepatch) , the patch on this page changes the resolution driver for a 800x480 driver on ANY wince 5/6 device , the main problem with the patch is for the $ , the patch is not for free.....
the main "video driver" , calls a value on a registry key ([HKEY_LOCAL_MACHINE\System\GDI\Drivers]) ,there is a key called "maindisp" , here , it calls a ".dll" file , THIS dll file tells the resolution and other things... the question is , how i build a ddi.dll file with 800x480 resolution? , sory for the bad english , im argentinian.. good bye !
ok , y advanced some , searching all the internet and is no way to get a "ddi.dll" disp driver from the internet... ,
i think its possible to upload mi ddi.dll with the 480x234 resolution, with yours help, modify it with a hex editor to a 800x480 resolution.. what do you think?
Someone can correct me if I am wrong but I don't believe what you are asking is possible. The screen on your phone can only display 480*234 because the screen itself only has the hardware capabilities to display that resolution (or possibly lower). It's like taking an old CRT tube tv, and then trying to play a 1080p video on it. The TV simply does not have the hardware technology to display the 1920x1080 picture, but rather can only display a resolution of 640x480. I believe it is that same case for your phone, your simply can't make the screen hardware display something it is incapable of. Again though I may be incorrect and anyone with more knowledge on this is subject would be appreciated to comment.
zoomonkey90 said:
Someone can correct me if I am wrong but I don't believe what you are asking is possible. The screen on your phone can only display 480*234 because the screen itself only has the hardware capabilities to display that resolution (or possibly lower). It's like taking an old CRT tube tv, and then trying to play a 1080p video on it. The TV simply does not have the hardware technology to display the 1920x1080 picture, but rather can only display a resolution of 640x480. I believe it is that same case for your phone, your simply can't make the screen hardware display something it is incapable of. Again though I may be incorrect and anyone with more knowledge on this is subject would be appreciated to comment.
Click to expand...
Click to collapse
sure! , you are correct. sory for my bad english , here is my question :
>The screen in windows is set to 320x240 and it stretches on the 480x234 display...
Finding the way to change resolution in core would allow to set a better solution (perhaps 400 or so pixels) and could solve both problems (display not sync or looking bad in my case).
According to http://forum.xda-developers.com/showthread.php?t=379728 there's a way to change the resolution. Perhaps there's a way in win core too.
Ideas?
lukz93 said:
According to http://forum.xda-developers.com/showthread.php?t=379728 there's a way to change the resolution. Perhaps there's a way in win core too.
Ideas?
Click to expand...
Click to collapse
Windows CE based devices are designed to support only a single video mode. For example, the Medion PNA I own has a display which is 480 pixel wide and 272 pixels high. Whatever the size, this is the physical resolution of the device. It is generally determined by the actual number of individual pixels elements that make up the display hardware and video chip that control the display. YOU CAN'T CHANGE THIS PER SOFTWARE!
BTW: Why not simply try out Nyditot Virtual Display ("NVD") you pointed to, which is trial ware, means you can testwisely install and use it for 7 days? Be aware, not all software applications written for the various Windows CE platforms are “resolution aware”. That is, they assume a standard resolution (e.g. 240x320 on Pocket PC) and therefore do not alter their layout based on NVD’s virtual width and height settings. NVD can't control the behavior of these applications! Even the Windows CE desktop (explorer) can't be changed with NVD.
reading , again reading and acquiring knowledge i learn this :
-The screen in windows is set to 320x240 and it stretches on the 480x234 display...
now , i take apart the resolution-change proble, and go for the new problem jaja, im stucked in sysupdater .. the problem? the touch screen doesn't work , and i can't press any button on this window...i'm thinking the unique solution is weld the usb port for the wince board , exactly as petrutms explained... , with that port attach a keyboard and w/ the tab key move between fields...
First of all you must say which device you have.
If your device has a 320x240 display, or a 400x320 or a 600x400, etc., you'll not be able to change it to a bigger size. You're limited by drivers, yes, but also by phisycal parameters. In other words, if you are capable to build a device using the screen of the HD2 and putting it in a Herald, and get it to work, probably you'll be capable to change or create the drivers.
On the other side, I've been using some 400x320 apps into my 320x240 display, and this means some parts of the app image (when it runs and does not crash because of display resolution) remain "out" of the screen and I can't scroll them. If this is what you mean when writing about those drivers...
And by opposite, apps made for smaller screens appear as a small part rendered in a black screen. Then, probably they can be stretched using some sort of apps or drivers, but this means you'll see blurred images, as they are zoomed like when you're displaying images 200% in your photoshop.
there is a program to change the resoloution.
not sure if it will work for what you need it to do but if i can find it ill upload it for you to try.

[Q] Supported resolutions over HDMI

I was wondering if anyone could point me in the right direction in regards to changing the output HDMI resolution of the Nexus 10, specifically I need the output resolution to be 1280x1024, I dont mind if the built in display needs to be disabled or will look distorted as long as the HDMI output is 1280x1024.
I've considered recompiling the kernel but couldn't see any obvious options within Mali-T6XX to adjust the list of supported resolutions, I also thought of using fbset but with a screen connected /dev/video/ just lists fb0 and no seperate framebuffer for HDMI so Im guessing any changes via fbset would only be applied to the built in LCD and not to the HDMI output.
I dont mind hacking the kernel or the android system but am unsure of where the best place to tackle the problem would be or if I'm barking up the wrong tree and no amount of hacking would be possible.
Any pointers would be immensely helpful
There are several threads where commands/apps/scripts are mentioned that can change the display resolution:
Raw display change commands mentioned here:
Need Tester for possible HDMI resolution workaround
A script that uses the raw commands to toggle resolutions changes ON/OFF:
[How-To] HDMI Fullscreen Toggle Script
A discussion about screen resolution changes with post #7 having a link to an app for changing resolutions:
hdmi resolution changer app?
So far I have not heard of anyone trying a "1280x1024" resolution but with the information above you can surely try that resolution yourself.
http://forum.xda-developers.com/showthread.php?p=41961269#post41961269
lKBZl said:
http://forum.xda-developers.com/showthread.php?p=41961269#post41961269
Click to expand...
Click to collapse
Just beat me too it Although that new app does not seem to have the posters requested resolution of "1280x1024".
'am' now there's a handy command and apologies for my noobishness I should have caught some of those links
Interesting it looks like display-size never actually changes the resolution of the screen, instead it changes the size of a virtual canvas with virtual pixels in memory which are then translated and scaled to the real x, y coordinates of whatever resolution the screen is detected as.
This allows display-size and pixel-density to be set arbitrarily high or low causing a zoom in/out affect but the real output resolution remains constant at 1080p.
Unfortunately the screen i'm using doesn't support 1080p so i'm hoping to find a way to change the real output resolution.

Show display manufacturer information

Hi,
I'm looking for a way to pull the display manufacturer information without opening the device. Is that possible somehow?
Found a terminal command in an sony xperia thread, but not sure which file I should run it on? (If that is how this command is used. I'm a noob to linux.)
- su
- mesg|grep -i panel
On a sidenote:
Does samsung make all their panels internally? Or do they just do their own display development and hire sub-contractors to do the actual manufacturing.
My purpose to all of this is to see if I can find a "original" part on aliexpress for a demanding relative

Categories

Resources