| Introduction | xiii |
| PART I USING WINDOWS MEDIA PLAYER | |
| 1 Getting Started | 3 |
| Playing a Song in Four Steps | 4 |
| Step 1: Start up the Player | 4 |
| Step 2: Go to the Now Playing View | 7 |
| Step 3: Select a Playlist | 7 |
| Step 4: Play the Song You Want | 9 |
| Main Features of Windows Media Player | 10 |
| Now Playing: Plays Music and Video | 11 |
| Media Guide: Searches the Internet | 15 |
| Copy from CD: Copies Music from Your CDs | 15 |
| Media Library: Organizes Your Files | 16 |
| Radio Tuner: Tune in to Internet Radio | 17 |
| Copy to CD or Device | 18 |
| Skin Chooser: Provides Custom User Interfaces | 20 |
| 2 Operating Windows Media Player | 23 |
| Outer Frame Operations | 23 |
| Playback Controls | 24 |
| Menu Controls | 25 |
| Taskbar Controls | 27 |
| Switch to Skin Mode Control | 29 |
| Windows Media Control | 29 |
| Status Pane | 29 |
| Resize Control | 30 |
| Full Screen Controls | 30 |
| Inner Window Operations | 32 |
| Now Playing view | 32 |
| Media Guide View | 42 |
| Copy from CD View | 43 |
| Media Library View | 52 |
| Radio Tuner View | 58 |
| Copy to CD or Device View | 64 |
| Skin Chooser View | 70 |
| Hidden Menus | 71 |
| Main Menu Bar | 71 |
| Skin Menu | 92 |
| Playlist Item Menu | 92 |
| 3 Understanding Media Files | 95 |
| File Formats | 95 |
| Determining File Types with File Name Extensions | 96 |
| Changing File Associations | 96 |
| Supported File Types | 99 |
| Codecs | 104 |
| Sampling and Bit Rates | 104 |
| Using MP3 Files | 105 |
| Using the Windows Media Audio Codec | 105 |
| Where Do You Get Codecs? | 106 |
| Which Codecs Do You Have? | 107 |
| Understanding Digital Rights | 109 |
| Creating Encrypted Music Files | 110 |
| Enabling Personal Rights Management | 112 |
| 4 Receiving Internet Audio and Video | 113 |
| Downloading Files | 113 |
| How Files Are Transmitted | 113 |
| How to Download a File | 114 |
| Progressive Streaming | 116 |
| File Buffering | 117 |
| Streaming Media | 118 |
| Live and Recorded Streaming | 119 |
| Unicast and Multicast Streaming | 119 |
| 5 Using Windows Media Player with Portable Devices | 125 |
| PC in Your Pocket | 125 |
| Getting Started with Pocket PC Player | 127 |
| Copying Music and Video to the Pocket PC | 129 |
| Using Windows Media Player on the Pocket PC | 139 |
| Music in Your Pocket | 144 |
| Advantages of WMA-compatible Devices | 144 |
| Finding a Device | 145 |
| Using a Device | 146 |
| PART II CREATING SKINS | |
| 6 How Do Skins Work? | 151 |
| Example Skins | 151 |
| Architecture of Skins | 153 |
| The Relationship between User, Skin, and Player | 153 |
| The Two Parts of a Skin | 154 |
| XML | 155 |
| How XML is Used in Skins | 155 |
| The Rules of XML | 156 |
| How to Author in XML | 158 |
| How to Create the Skin Definition File in XML | 159 |
| JScript | 163 |
| Calling JScript functions | 163 |
| Controlling the Player | 164 |
| Art Files | 169 |
| Types of Art Files | 169 |
| Art File Formats | 171 |
| Simple Art Example | 171 |
| 7 How to Design Skins | 179 |
| User Interface Guidelines | 179 |
| Windows Interface Guidelines | 179 |
| Windows Media Player Interface | 181 |
| Four Steps for Designing a Skin | 187 |
| Step 1: Analyzing What to Do | 187 |
| Step 2: Designing the User Interface | 188 |
| Step 3: Creating the Art | 190 |
| Step 4: Writing the Code | 192 |
| 8 Creating a Sample Skin | 197 |
| Step 1: Analyze What to Do | 197 |
| Functionality of the Sample Skin | 198 |
| Step 2: Design the User Interface | 198 |
| User Interface of the Sample Skin | 199 |
| Step 3: Create the Art | 199 |
| Creating the Art Files | 200 |
| Step 4: Write the Code | 209 |
| Creating the Skin Definition File | 209 |
| 9 Adding More to Skins | 217 |
| Adding a Progress Bar | 217 |
| Progress bar art files | 218 |
| Progress Bar Code | 219 |
| Adding a Slider | 220 |
| Adding a Custom Slider | 221 |
| Custom Slider Art Files | 222 |
| Custom Slider Code | 224 |
| Adding a Video Window | 225 |
| Video Art Files | 225 |
| Video Window Code | 226 |
| Adding a Visualization | 226 |
| Visualization Art Files | 227 |
| Visualization Code | 228 |
| Adding a Sliding Drawer | 228 |
| Drawer Art Files | 230 |
| Drawer Code | 231 |
| Adding a Dialog Box for Opening Files | 236 |
| Adding a Playlist | 237 |
| Playlist Code | 238 |
| Adding Text | 238 |
| Text Code | 239 |
| Going Further | 241 |
| 10 Testing and Distributing Skins | 243 |
| Testing Skins | 243 |
| Analyzing What is Going on inside Your Skin | 243 |
| Using Microsoft Visual InterDev | 254 |
| Testing to be Sure Your Skin is Complete | 255 |
| Distributing Skins | 255 |
| Zipping it Up | 255 |
| Testing it Again | 256 |
| Sending it Out | 256 |
| Part III Advanced Topics | |
| 11 Using Windows Media Player in a Web Page | 259 |
| Getting Started | 259 |
| Examples of the Player in a Web Page | 260 |
| Setting up Your Web Page | 266 |
| Using ActiveX | 266 |
| Using the OBJECT Element of HTML | 267 |
| Defining the User Interface with HTML | 268 |
| Implementing Event Handlers | 273 |
| Understanding Player Control Limitations | 274 |
| Previous Versions of the Control | 275 |
| Ensuring that the Player is Installed | 275 |
| Going Further | 276 |
| 12 Creating Custom Media Content | 277 |
| Using Markers | 278 |
| Inserting Markers | 278 |
| Using Markers in Scripts | 281 |
| Using URLs | 282 |
| Inserting URLs | 282 |
| Using URLs in Scripts | 285 |
| Using Script Commands | 288 |
| Inserting Script Commands | 289 |
| Custom Script Commands | 290 |
| Using Captioning | 292 |
| 13 Creating Multimedia Applications | 299 |
| Using Borders | 299 |
| How to Create Borders | 302 |
| Delivering Enhanced Content | 305 |
| 14 Creating Custom Visualizations | 311 |
| Software Tools | 311 |
| Installing Visual C++ | 312 |
| Installing the Windows Media Player SDK | 312 |
| Installing the Visualization Wizard | 312 |
| What the Wizard Does | 313 |
| Project Files | 314 |
| Creating the Files | 315 |
| Building a Test Visualization | 318 |
| Seeing the Test Visualization | 319 |
| What You Must Write | 322 |
| Implementing the Render Interface | 322 |
| Providing Preset Information | 323 |
| Sample Code | 325 |
| Going Further | 329 |
| Learning More | 330 |
| Submitting Your Visualization | 330 |
| GLOSSARY | 331 |
| INDEX | 343 |
| ABOUT THE AUTHOR | 349 |