Related
Hi,
Has anyone had any luck with writing Midlets for the XDA2? I'm trying to write one use the camera as a webcam (Yes, I know, a bit ambitious for my secomd midlet!)
I'm using this line:
Code:
Player vPlayer = Manager.createPlayer("capture://video");
I get a MediaException, meaning '...a Player cannot be created for the given locator.' (quoted from MMAPI JavaDoc).
Also, calling the Manager.getSupportedProtocols() method for 'mpeg/video' returns an empty list, as does calling Manager.getSupportedContentTypes() for 'capture://video'.
Has anyone else managed to access the XDA2 camera from a Midlet? If so, what is the trick?!!
cheers
Paul
I don't think anybody's managed to get access to it from native eVC++ let alone midlets, and IA style aren't revealing anything about how their app does it, so I wouldn't hold your breath for a solution... Bloody closed APIs.
Knackers!! :evil:
Cheers anyway! I'll keep poking and see what happens....
Paul
i suspect that their applications take pretty much control direct without using the winCE api
because when i start the cam my clock which it still display stop being 24h and turn to the AM/PM confusement
Now that bal666's awesome utility gives us the ability to decrypt/encrypt the NBF file, we can view and/or extract the ROM files that are normally not available to us otherwise.
One big hoopla that Windows Mobile 5.0 was supposed to have was the native ability to access the camera through their APIs, so that third-party developers could create applications without having to deal with each and every different type of camera technology in different Pocket PC and Smartphone devices.
Of course, it's apparent that HTC has still used their own software and drivers and has not given access to anyone outside of HTC. Not like Microsoft had their own Camera application (I don't know if there ever was one, but there isn't a Microsoft one on the Universal).
Developers such as ComVu with their neat PocketCaster software, are having such a difficult time making a single Windows Mobile 5.0-ready application, and have resorted to making different versions for different devices.
So... where am I going with this? Simple. Let's dump out the contents of the NK.NBF file and see if we can make our own applications with the APIs and drivers that HTC has embedded in the ROM.
I, for one, am looking forward to a internet-based videoconferencing application, much like Microsoft Portrait. Skype also announced video calls on PCs with the new version 2.0. Perhaps someone could send them some code to get video capability on the Universal?
That front-facing camera is beckoning to be used...
On a sidenote, PPL: Pocket Programming Language, allows you to easily create applications (self-contained EXE files, as a matter of fact), and also allows direct access to DLLs and APIs...
Put these two concepts together, and you can see the potential.
Create an application to...
... toggle the camera flashlight.
... do internet videoconferencing.
... do face recognition security.
Create your own camera app, phone app, game using images from the camera, etc. etc.
Another thing, though I'm not sure, but perhaps it's possible to rebuild your own ROM... remove Voice Speed Dial? Embed Voice Command, Resco Explorer, remove stupid applications or unused portions? etc. etc.
What does anyone else think about this?
BtT,
This sounds great, even having only a magician which will likely not being supported in projects like this. I still want to create my own rom with at least all the patches installed in rom. Camera & Album are taking at least 1Mb from my precious storage & apps like resco explorer are indeed must haves.
So I'm looking rorward to progress & tips in this thread & when I succeed with simple magician rom cooking I'll let you know. Don't expect any new camera apps from me, no time & no development for anymore .
Regards, M
http://research.microsoft.com/workshops/FS2005/presentations/FacultySummit_2005_Lieberman.ppt
I just realized that Windows Mobile 5 SDK contains a "common camera API" which is likely the method that third-party developers will take (or have taken) to access the camera. I have emailed Skype to see if their new 2.0 desktop version that has Video Calling can be somehow implemented on the Pocket PC, now that it is technically feasible.
I'm surprised the guys behind Microsoft Portrait haven't jumped on this yet.
I am trying to write small apps for my Hermes.
Unfortunately I couldn't find any device specific APIs such as Camera API for HTC.
Where can I find such APIs ?
Also, if it is possible to access camera without any device specific API , please point me to the correct address.
When I make a search with keywords API and SDK on this forum , I can't get any results because of the 3 character keyword limitation.
You can use standard WM 5.0 + function:
SHCameraCapture from AYGSHELL.DLL
read more about it here
https://msdn2.microsoft.com/en-us/library/aa454996.aspx
thanks. I couldn't understand how to use that.
I currently use WM6 SDK.
for camera, do I have to download WM5 SDK in addition ?
Also, how do I use it with C# ?
any idea ?
Hi Guys,
Because the standard API's to use the camera aren't flexible enough I need to use directshow.
Unfortunately I'm not a very good C++ programmer (more C# ;-))
I found this solution. Wich compiles a C++ DLL and can be called from C#.
Perfect! Except the C++ code doesn't really do what I want to. (And I have no idea how to change it)
See attachement for the C++ project
Dll does: Capture one frame from the camera and store it as a file. (with 320x240 resolution, not great quality)
I'd prefer to use the best available quality, or mayby choose the quality I want.
Also I'd prefer not saving/storing the file but return a stream / bitmap / image
Because I only want to show it on screen (actualy let a mobile webserver respond an image with as much frames per sec as possible)
(Saves a step, storing and deleting everytime)
Any Help?
PS. I also tried Directshow.Net Library But it doesn't seem to work on Windows Mobile.
C# Code
Btw, this is the code I use in C# to create the functions:
[DllImport("CameraCaptureDLL.DLL")]
private static extern bool CaptureStill(string Path);
[DllImport("CameraCaptureDLL.DLL")]
private static extern bool InitializeGraph(IntPtr hWnd);
Just to keep y'all posted, I'm now looking @ this solution (CodeProject.com)
They rewrote the DLL file, and I think it's gonna do what I want, but I first need to install Windows CE 5.0 wich takes alot of time....
I met same problem with you.
I just want to show the camera sight, like the Camera app's Preview function.
I don't know if there is a HTC's Camera SDK.
Please keep contract, if I have any improvment, I will tell you.
I had fun with camera but not using directshow or the preview...I'm just launching the camera app (using sample camera in SDK).
If anyone find an easy way to have "embedded camera display" in an application I'm really interested!! (like a pictureBox having camera as image source)
If I found something I'll tell...
DarkAngelFR said:
I had fun with camera but not using directshow or the preview...I'm just launching the camera app (using sample camera in SDK).
If anyone find an easy way to have "embedded camera display" in an application I'm really interested!! (like a pictureBox having camera as image source)
If I found something I'll tell...
Click to expand...
Click to collapse
I found functions and its parameters by sniffig camera calls on my VOX
Captured data is stored as UYVY.
m32
m32 said:
I found functions and its parameters by sniffig camera calls on my VOX
Captured data is stored as UYVY.
m32
Click to expand...
Click to collapse
Could you provide the compiled version of the htccamera dll ?
Will try to build this later (@work don't have cc compiler, just VS2008)
Thanks!
An in-memory capture would almost certainly improve the live-scan mode in Barcorama also! I could really use that in-memory capable CameraCaptureDll.dll.
Many users seem to have successfully compiled the source at http://www.codeproject.com/KB/mobile/samplegrabberfilter-wm6.aspx, but I can't find the compiled dll somewhere .
I fail to compile it myself as it needs the WindowsCE Platform Builder and VS2008...
Anybody that comes across the DLL, please share!
have fun,
hypest
Hello,
working on it ^^ I will upload the dll here later today
Here you go : download (if fails : try here)
is the source code compiled (look in /bin/Release). Tested and works nice (deploy the dll then the sample app).
Hope this helps!
Thanx!!
will try it!
UPDATE:
The sample opens up but seems to do nothing on my kaiser. <-UPDATE: wrong! it works OK.
I have managed to use the DLL directly though. The capturing works fine but the capture-stop seems to fail: the Stop() function hangs. I use the Shutdown() that seems to be OK, but then I have trouble re-initializing the whole procedure. Also, there seem to be a sensitivity on manually using the garbage collector.
Thanks again anyway!!
Cannot seem to import the dll into another project
@DarkAngelFR
Thanks very much for the sample app for video streaming, was very helpful.
However I really need to use the dll or even the import the CameraCaptureDLL c++ code into our project. I have already read over the ReadMe text file but need further help on how to create this object? Have already tried the Ignore Input Library property and that does not work sadly. Any help would be great!
Thanks,
John
m32 said:
I found functions and its parameters by sniffig camera calls on my VOX
Captured data is stored as UYVY.
m32
Click to expand...
Click to collapse
I have build the camerasniffer dll (and called it htccamera.dll) with mingw32ce, but how do I use it?
I tried copying it to "/windows" and rebooted the phone (hermes) but I do not get a log file on the storage card. Any hints?
Thanks a lot!
Hi,
I got this error when I try to debug this application on my mobile (HTC HD2)
"An unhandled exception of type 'System.MissingMethodException' occurred in TestCameraCapture.exe
Additional information: Can't find PInvoke DLL 'CameraCaptureDLL.DLL'."
But it seem to works fine on the Emulator.
How can I test it on my mobile then?
EDIT
Problem solved, I just had to copy the 'CameraCaptureDLL.DLL' file to the folder where the application is running.
Hey there,
I tried to create an app with the HTC One M8 and it´s Duallens "depthsensor".
The problem is that there is no way to activate the second rear camera in android.
In android.hardware.camera package there are some hidden methods like : enableSubCam...so I´ll tried to use java reflection to activate these SubCam, but it doesn´t work at all...
I need some depth information in realtime for my application and I thought with the new DualLens this would be possible.
Also I tried to understand the HTC DualLens SDK, but all this stuff works on an jpg format and without creating an new depthMap
So what do you think is the best method to access 1. the second rear camera or 2. directly some kind of depthMap with help from HTC SDK?
gurd123 said:
Hey there,
I tried to create an app with the HTC One M8 and it´s Duallens "depthsensor".
The problem is that there is no way to activate the second rear camera in android.
In android.hardware.camera package there are some hidden methods like : enableSubCam...so I´ll tried to use java reflection to activate these SubCam, but it doesn´t work at all...
I need some depth information in realtime for my application and I thought with the new DualLens this would be possible.
Also I tried to understand the HTC DualLens SDK, but all this stuff works on an jpg format and without creating an new depthMap
So what do you think is the best method to access 1. the second rear camera or 2. directly some kind of depthMap with help from HTC SDK?
Click to expand...
Click to collapse
i remember there was an app (german) that take 2 pictures at the same time from both rear cameras but the app was just to show that both work so it was like open app>automatic capture>save both pictures>exit.
got it : http://forum.xda-developers.com/showthread.php?t=2722352
yeah I´ve seen this app, but it´s hard coded on the linux kernel ...
and like I said I´ll try to calculate the depthMap in realtime, so a continious Depth-Matrix with opencv for example and not just a jpg
isn´t there a possibility to access the hardware components of an smartphone and activate them?
gurd123 said:
yeah I´ve seen this app, but it´s hard coded on the linux kernel ...
and like I said I´ll try to calculate the depthMap in realtime, so a continious Depth-Matrix with opencv for example and not just a jpg
isn´t there a possibility to access the hardware components of an smartphone and activate them?
Click to expand...
Click to collapse
Maybe this will help you
Code:
[URL="https://www.htcdev.com/devcenter/opensense-sdk/htc-dual-lens-api/htc-dual-lens-sdk-installation/"]https://www.htcdev.com/devcenter/opensense-sdk/htc-dual-lens-api/htc-dual-lens-sdk-installation/[/URL]
like I said in the first post, I´ve tried to understand the SDK, but in my oppinion it´s not for creating a file...
you´re just allowed to use the already created depth information of an jpg-file...
or has anyone made some other experiences with the SDK?
Have you solved the problem?
Hi,
I have the similar situation and would like to know if you have found a solution to this problem.
I agree with you that the SDK provided by the HTC website is for depth info extraction from already created image. The SDK is not viable for realtime depth processing.
Please let me know if you have the solution for this problem.
Thanks!
gurd123 said:
Hey there,
I tried to create an app with the HTC One M8 and it´s Duallens "depthsensor".
The problem is that there is no way to activate the second rear camera in android.
In android.hardware.camera package there are some hidden methods like : enableSubCam...so I´ll tried to use java reflection to activate these SubCam, but it doesn´t work at all...
I need some depth information in realtime for my application and I thought with the new DualLens this would be possible.
Also I tried to understand the HTC DualLens SDK, but all this stuff works on an jpg format and without creating an new depthMap
So what do you think is the best method to access 1. the second rear camera or 2. directly some kind of depthMap with help from HTC SDK?
Click to expand...
Click to collapse