Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Video Streaming in Pocket PC 2002

0.00/5 (No votes)
20 Apr 2004 1  
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 has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here