Click here to Skip to main content
15,889,909 members
Articles / Mobile Apps / Windows Mobile

Video Streaming in Pocket PC 2002

Rate me:
Please Sign up or sign in to vote.
3.91/5 (12 votes)
20 Apr 2004CPOL1 min read 147.9K   1.1K   43   33
An article on creating a streaming video player for Pocket PC.

Introduction

This project introduces you to use Microsoft Media Player SDK to write a simple video player for Pocket PC 2002

Background

  • Embedded Visual C++ 3.0

Using the code

  • First, download the SDK and install to the system. It would be in the directory C:\WMSDK\WMPktPC\
  • Open the sample project: C:\WMSDK\WMPktPC\Samples\MediaBookmarker\MediaBookmarker.vcw

The sample project present how to play a video file locally. To play a video through http we must use the additional functions provided in PlayerOCX.h. First look at the CMediaBookmaker.h to see the variables

CComPtr<IWMP> m_spWMPPlayer; // A pointer to the 
  //Windows Media Player control interface

To play an video file we can use the function Play() like this

m_spWMPPlayer->Play();

Second, create a text box for user enter the URL

LRESULT CMediaBookmarker::OnCreate(UINT uMsg, 
   WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
..........
..........
..........
h_editURL=CreateWindow(TEXT("EDIT"), 
  TEXT("http://www.somewhere.com/video.wmv"), 
  WS_CHILD | WS_VISIBLE | ES_AUTOHSCROLL| BS_TEXT, 
  0, 20, 220, 20, m_hWnd, (HMENU)IDB_TXT_ADDRESS, hInst, NULL);

//
CreateWindow(TEXT("BUTTON"), TEXT("Go"), 
  WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 
  220, 20, 20, 20, m_hWnd, (HMENU)IDB_GO, hInst, NULL); 


h_btnAbout=CreateWindow(TEXT("BUTTON"), TEXT("MediaBookmarker"), 
  WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 
  0, 40, 240, 20, m_hWnd, (HMENU)IDB_ABOUT, hInst, NULL);
..........
..........

}

The variable h_editURL was declared in the CMediaBookmaker.h

HWND h_editURL; // the handle for Edit box 

Then we create the function that handle the action click on the button Go (CMediaBookmaker.h )

BEGIN_MSG_MAP(CMediaBookmarker)
   .....
   .....
   .....
   COMMAND_ID_HANDLER( IDB_GO, OnGoURL)
   .....
   .....
END_MSG_MAP()

LRESULT OnGoURL( WORD wNotifyCode, WORD wID,
  HWND hWndCtl, BOOL& bHandled);

Then back to the CMediaBookmarker.cpp to edit the function OnGoURL

LRESULT CMediaBookmarker::OnGoURL(WORD wNotifyCode, WORD wID, 
  HWND hWndCtl, BOOL& bHandled)
{
 CHAR *m_strURL="";

 //h_editURL
 SendMessage(h_editURL,WM_GETTEXT,256,(LPARAM)m_strURL);
 // Send a windows message to get the value of the textbox in the program. 

 SendMessage(h_btnAbout,WM_SETTEXT,256,(LPARAM)m_strURL);
 // Set the Text in Button About to test . Do not need to use this code 

 // And finally use put_FileName() function to prepare to play
 m_spWMPPlayer->put_FileName((unsigned short*)m_strURL); 

 m_spWMPPlayer->Play(); // Play the media from the URL 

 return 0;
}

Points of Interest

This code was tested on the Acer n10 Pocket PC 2003 using SENAO wireless card. We can play the file remotely in the web server.

I am just a new comer. I have many difficulties when doing the video project on Pocket PC. Now I find this code is interesting and would like to share with you. Finally, thanks for your concerns !

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Vietnam Vietnam
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
Generalvideo Pin
salam ellayan16-Nov-08 22:54
salam ellayan16-Nov-08 22:54 
Generalvideo streaming Pin
salam ellayan19-Jul-08 21:26
salam ellayan19-Jul-08 21:26 
GeneralWindows mobile 2003 media player codding needed urgently in C# Pin
suppersunny0728-Jun-08 23:22
suppersunny0728-Jun-08 23:22 
Generalpocket pc Media Player Control in C# Pin
fita8416-Mar-08 4:46
fita8416-Mar-08 4:46 
QuestionQueryControl failed Pin
amou6421-Nov-07 21:15
amou6421-Nov-07 21:15 
QuestionRe: QueryControl failed Pin
Jessn4-Feb-09 9:22
Jessn4-Feb-09 9:22 
AnswerRe: QueryControl failed Pin
sc.valentine2126-Apr-09 17:29
sc.valentine2126-Apr-09 17:29 
AnswerRe: QueryControl failed Pin
Jessn5-May-09 7:54
Jessn5-May-09 7:54 
GeneralI'm unable to control UI of VideoStream/ MediaBookmarker Pin
Member 221927429-Aug-05 6:35
Member 221927429-Aug-05 6:35 
Generalfatal error RC1015: cannot open include file 'winver.h'. Pin
BigDog11117-May-05 20:31
BigDog11117-May-05 20:31 
GeneralRe: fatal error RC1015: cannot open include file 'winver.h'. Pin
chrisharden22-Aug-05 3:35
chrisharden22-Aug-05 3:35 
GeneralRe: fatal error RC1015: cannot open include file 'winver.h'. Pin
krishind_9914-Sep-06 5:18
krishind_9914-Sep-06 5:18 
Generalmouse event Pin
jloc1-Mar-05 19:19
jloc1-Mar-05 19:19 
Generalplayer for pocket pc 2003 Pin
goast15-Sep-04 22:11
goast15-Sep-04 22:11 
GeneralRe: player for pocket pc 2003 Pin
arvish2713-Oct-04 1:20
arvish2713-Oct-04 1:20 
GeneralRe: player for pocket pc 2003 Pin
arvish2713-Oct-04 1:24
arvish2713-Oct-04 1:24 
QuestionSupported newer windows media format (9/10) ? Pin
alien-star11-Sep-04 21:55
alien-star11-Sep-04 21:55 
GeneralAny one did it in .NET Pin
oxoocoffee29-Jul-04 15:40
oxoocoffee29-Jul-04 15:40 
GeneralRe: Any one did it in .NET Pin
Anonymous22-Dec-04 9:28
Anonymous22-Dec-04 9:28 
GeneralRe: Any one did it in .NET Pin
soundararajandpm15-Dec-06 0:58
soundararajandpm15-Dec-06 0:58 
GeneralRe: Any one did it in .NET Pin
mshahidm11-Sep-09 5:25
mshahidm11-Sep-09 5:25 
GeneralLinking Error Pin
siuchi_fchan13-Jul-04 23:39
siuchi_fchan13-Jul-04 23:39 
GeneralRe: Linking Error Pin
Anonymous19-Jul-04 12:06
Anonymous19-Jul-04 12:06 
GeneralRe: Linking Error Pin
siuchi_fchan19-Jul-04 21:56
siuchi_fchan19-Jul-04 21:56 
GeneralRe: Linking Error Pin
index4920-Jul-04 12:40
index4920-Jul-04 12:40 
When I was using Pocket PC 2003 emulator, I received that link error. I believe the reason was that it should be named atlce400.lib (not 300). So try and see if the 400 works, but again, that was when I using Pocket PC 2003, not 2002.

After changing that, the program built, but nothing happened when I excuted (using emulator). The screen on the emulator refreshed twice quickly and thats it. Any suggestions would be appreciated.

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.