best pdf viewer control for asp.net : Add a page to a pdf online Library SDK API .net wpf html sharepoint Pro_Silverlight_5_in_CSharp_4th_edition43-part108

CHAPTER 12  SOUND, VIDEO, AND DEEP ZOOM 
423 
Figure 12-3. A video page that receives media commands 
Although it’s possible to create a page that has more than one section of playable content, most 
applications will have only one, as in this example. In this case, it’s easiest to attach the MediaCommand 
event handler to the root element to make sure you capture the media command no matter what 
element has focus: 
<UserControl x:Class="Media.MediaCommands" 
MediaCommand="media_MediaCommand" ... >    
Now all you need to do is react to the actual event. Here’s the code that deals with three possible 
media commands: play, pause, and the play/pause toggle button that’s found on many keyboards: 
private void media_MediaCommand(object sender, MediaCommandEventArgs e) 
if (e.MediaCommand == System.Windows.Media.MediaCommand.Play) 
media.Play(); 
}        
else if (e.MediaCommand == System.Windows.Media.MediaCommand.Pause) 
www.it-ebooks.info
Add a page to a pdf online - insert pages into PDF file in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Guide C# Users to Insert (Empty) PDF Page or Pages from a Supported File Format
adding pages to a pdf; add page numbers to a pdf
Add a page to a pdf online - VB.NET PDF Page Insert Library: insert pages into PDF file in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Easy to Use VB.NET APIs to Add a New Blank Page to PDF Document
add pages to pdf reader; add page pdf reader
CHAPTER 12  SOUND, VIDEO, AND DEEP ZOOM 
424 
media.Pause(); 
else if (e.MediaCommand == System.Windows.Media.MediaCommand.TogglePlayPause) 
if (media.CurrentState == MediaElementState.Paused ||  
media.CurrentState == MediaElementState.Stopped) 
media.Play(); 
else if (media.CurrentState == MediaElementState.Playing) 
media.Pause(); 
 Note  This code is a bit verbose, because it’s necessary to write the fully qualified named 
System.Windows.Media.MediaCommand when referring to the MediaCommand enumeration. If you write simply 
MediaCommand, the compiler will assume you’re referring to the MediaCommand event in the current user 
control. 
These aren’t all the media commands you can intercept. Table 12-1 shows the full list of 
MediaCommand values. For example, if you want to handle volume changes, you can tack this code 
onto the end of the conditional logic in the previous example:  
... 
else if (e.MediaCommand == System.Windows.Media.MediaCommand.IncreaseVolume) 
media.Volume += .1; 
else if (e.MediaCommand == System.Windows.Media.MediaCommand.DecreaseVolume) 
media.Volume -= .1; 
}  
Table 12-1. Values from the MediaCommand Enumeration 
Value 
Description 
Play 
Start playback. 
Pause 
Stop playback, temporarily. 
TogglePlayPause 
Start playback if it’s currently paused, or pause it if it’s currently playing. 
www.it-ebooks.info
VB.NET PDF insert image library: insert images into PDF in vb.net
Access to freeware download and online VB.NET to provide users the most individualized PDF page image inserting function, allowing developers to add and insert
add page numbers pdf file; adding pages to a pdf document
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
C# File: Split PDF; C# Page: Insert PDF pages; C# Page: Delete PDF pages; C# C# Read: PDF Image Extract; C# Write: Insert text into PDF; C# Write: Add Image to
add blank page to pdf preview; add page numbers to a pdf
CHAPTER 12  SOUND, VIDEO, AND DEEP ZOOM 
425 
Value 
Description 
Stop 
Stop playback and return to the beginning or the previous state. 
Record 
Start recording. This command commonly acts as a toggle, so the second record 
command should stop recording. 
FastForward 
Move the media forward, at an accelerated speed. 
Rewind 
Move the media backward, at an accelerated speed. 
NextTrack 
Skip to the next track or media file. 
PreviousTrack 
Skip to the previous track or media file. 
IncreaseVolume 
Raise the volume one increment. 
DecreaseVolume  
Lower the volume one increment. 
MuteVolume 
Silence the audio, temporarily. 
ChannelUp 
Move to the next audio channel. 
ChannelDown 
Move to the previous audio channel. 
There are also a few media commands that are specific to Silverlight on the Xbox. They include 
Menu, Title, Info, Display, Guide, and TV. 
Client-Side Playlists 
Silverlight also supports Windows Media metafiles, which are essentially playlists that point to one or 
more other media files. Windows Media metafiles typically have the file extension .wax, .wvx, .wmx, .wpl, 
or .asx. Certain features of these files, such as script commands, aren’t supported and cause errors if 
used. For the full list of unsupported features, refer to the Silverlight documentation. 
Here’s a basic playlist that refers to two video files: 
<asx version="3.0"> 
<title>Two Video Playlist</title> 
<entry> 
<title>Video 1</title> 
<ref href="Video1.wmv" /> 
</entry> 
<entry> 
<title>Video 2</title> 
<ref href="Video2.wmv" /> 
</entry> 
</asx> 
www.it-ebooks.info
VB.NET PDF Password Library: add, remove, edit PDF file password
On this page, we will illustrate how to protect PDF document via password by using simple VB.NET demo code. Open password protected PDF. Add password to PDF.
add page to pdf acrobat; add pages to pdf
C# PDF insert image Library: insert images into PDF in C#.net, ASP
download and online C#.NET class source code. How to insert and add image, picture, digital photo, scanned signature or logo into PDF document page in C#.NET
add pages to pdf acrobat; add and delete pages in pdf
CHAPTER 12  SOUND, VIDEO, AND DEEP ZOOM 
426 
If you point the Source property of the MediaElement to this file, it will begin playing Video1.wmv 
(assuming it exists) and then play Video2.wmv immediately after. In this case, both files are in the same 
location on the server (and in the same folder as the playlist), but you can adjust the href attribute to 
point to files in other folders or servers. 
Typically, .asx files are used with .asf streaming files. In this case, the .asx file includes a link to the 
.asf streaming file. 
Server-Side Playlists 
If you’re streaming video using Windows Media Services, you can also create a server-side playlist. 
Server-side playlists are processed on the server. They let you combine more than one video into a single 
stream without revealing the source of each video to the user. Server-side playlists offer one technique 
for integrating advertisements into your video stream: create a server-side playlist that places an ad 
before the requested video. 
Server-side playlists often have the file extension .wsx. As with client-side playlists, they contain 
XML markup: 
<?wsx version="1.0"?> 
<smil> 
<seq id="sq1"> 
<media id="video2" src="Video1.wmv" /> 
<media id="video1" src="Advertisement.wmv" /> 
<media id="video2" src="Video2.wmv" /> 
<seq> 
</smil> 
The root element is <smil>. Here, the <smil> element contains an ordered sequence of video files 
represented by the <seq> element, with each video represented by the <media> element. More 
sophisticated server-side playlists can repeat videos, play clips of longer videos, and specify videos that 
will be played in the event of an error. For more information about the standard for .wsx files (and the 
elements that are supported and unsupported in Silverlight), see 
http://msdn.microsoft.com/library/cc645037.aspx. 
Progressive Downloading and Streaming 
Ordinarily, if you take no special steps, Silverlight plays media files using progressive downloading. This 
means that the client downloads media files one chunk at a time, using the standard HTTP protocol. 
When the client has accumulated enough of a buffer to provide for a few seconds of playback, it begins 
playing the media file and continues downloading the rest of the file in the background. 
Thanks to progressive downloading, the client can begin playing a media file almost immediately. In 
fact, the total length of the file has no effect on the initial playback delay. The only factor is the bit rate
how many bytes of data it takes to play five seconds of media. Progressive downloading also has a 
second, not-so-trivial advantage: it doesn’t require any special server software, because the client 
handles all the buffering. Thus, you can use progressive downloading with any web server. 
The same isn’t true of streaming, a technology that uses a specialized stateful protocol to send data 
from the web server to the client. Streaming has the instant-playback ability of progressive downloading, 
but it’s more efficient. There are numerous factors at work, but switching from progressive downloading 
to streaming can net your web server a two- or three-times improvement in scalability—in other words, 
it may be able to serve the same video content to three times as many simultaneous users. This is the 
reason streaming is usually adopted. 
www.it-ebooks.info
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
Please follow the sections below to learn more. DLLs for Deleting Page from PDF Document in VB.NET Class. Add necessary references:
add pages to pdf preview; add a page to pdf file
VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
C# File: Split PDF; C# Page: Insert PDF pages; C# Page: Delete PDF pages; C# C# Read: PDF Image Extract; C# Write: Insert text into PDF; C# Write: Add Image to
add page number to pdf reader; add page numbers to pdf in reader
CHAPTER 12  SOUND, VIDEO, AND DEEP ZOOM 
427 
However, streaming also has one significant disadvantage: it needs dedicated server-side software. 
(With Silverlight, this software is Windows Media Services, which is available as a free download for 
Windows Server 2008.) Unfortunately, it’s considerably more complex to configure and maintain a 
media streaming server than it is to host an application that uses progressive downloading. 
 Note  If you use a MediaElement with a URL that starts with 
http://
or 
https://
, Silverlight begins a 
progressive download. If you use a MediaElement with a URL that starts with 
mms://
, Silverlight attempts to 
stream it and falls back on a progressive download if streaming fails. 
It’s worth noting that the word streaming isn’t always used in the technical sense described here. 
For example, Microsoft provides a fantastic free Silverlight hosting service called Silverlight Streaming. It 
provides 10 GB of hosting space for Silverlight applications and media files. But despite its name, 
Silverlight Streaming doesn’t use streaming—instead, it simply serves video files and allows the client to 
perform progressive downloading. 
IMPROVING PROGRESSIVE DOWNLOADING 
If you don’t want the complexity of configuring and maintaining a server with Windows Media Services or 
you use a web host that doesn’t 
You’ll get the most out of progressive downloading if you follow these best practices: 
• Consider providing multiple versions of the same media file: If you have huge 
media files and you need to support users with a wide range of connection 
speeds, consider including an option in your application that lets users specify 
their bandwidth. If a user specifies a low-speed bandwidth, you can seamlessly 
load smaller media files into the MediaElement. (The only problem is that average 
users don’t always know their bandwidth, and the amount of video data a 
computer can handle can be influenced by other factors, such as the current CPU 
load or the quality of a wireless connection.) 
• Adjust the BufferingTime property on the MediaElement: You can control how 
much content Silverlight buffers in a progressive download by setting the 
playback, but higher-quality videos that will be played over lower-bandwidth 
connections will need different rates. A longer BufferingTime value won’t allow a 
slow connection to play a high–bit rate video file (unless you buffer virtually the 
entire file), but it will smooth over unreliable connections and give a bit more 
breathing room. 
• Keep the user informed about the download: It’s often useful to show the client 
how much of a particular media file has been downloaded. For example, websites 
such as YouTube and players such as Media Player use a progress bar that has a 
www.it-ebooks.info
C# HTML5 PDF Viewer SDK to view PDF document online in C#.NET
C# File: Split PDF; C# Page: Insert PDF pages; C# Page: Delete PDF pages; C# C# Read: PDF Image Extract; C# Write: Insert text into PDF; C# Write: Add Image to
add pdf pages to word document; add page number to pdf document
C# PDF Password Library: add, remove, edit PDF file password in C#
your PDF document in C# project, XDoc.PDF provides some PDF security settings. On this page, we will talk about how to achieve this via Add necessary references
add page numbers to pdf preview; add page break to pdf
CHAPTER 12  SOUND, VIDEO, AND DEEP ZOOM 
428 
shaded background, indicating how much of the file is available. To create a 
similar effect in a Silverlight application, you can use the 
DownloadProgressChanged event. It fires each time Silverlight crosses a 5% 
download threshold (for example, when it downloads the first 5%, when it reaches 
10%, when it reaches 15%, and so on). It fires again when the file is completely 
downloaded. When the DownloadProgressChanged event fires, you can read the 
DownloadProgress property to determine how much of the file is currently 
available (as a value from 0 to 1). Use this information to set the width of a 
rectangle, and you’re well on the way to creating a download progress bar. 
• Consider informing the user about the buffer: You can react as the buffer is filled 
using the BufferingProgressChanged event and read the BufferingProgress 
property to find out how much content is in the buffer (as a value from 0 to 1). For 
example, with a BufferingTime value of 5 seconds, a BufferingProgress value of 1 
value of 0.5 means the buffer is half full, with just 2.5 seconds available. This may 
be too much information to display, or it may be a useful way to show the user 
why a media file can’t be buffered successfully over the current connection. 
• Use bit-rate throttling and IIS smooth streaming: Bit-rate throttling can improve the 
scalability of your web server and smooth streaming can improve the performance 
of your video—sometimes dramatically. Both features are described in the 
“Adaptive Streaming” section that follows. 
Adaptive Streaming 
In recent years, the tide has shifted from true streaming to adaptive streaming, which is really a way to 
mimic the benefits of streaming while still using progressive downloading and ordinary HTTP behind 
the scenes. Currently, about 65% of all web content is delivered by progressive download, with YouTube 
leading the way as the single most popular deliverer of video content. IIS now supports two features that 
make adaptive streaming work more efficiently and help to close the performance gap with traditional 
streaming: 
• Bit-rate throttling: Bit-rate throttling prevents people with good connections from 
downloading a video file really quickly, which can swamp the server if a large 
number of people request the file simultaneously. Typically, when using bit-rate 
throttling, you configure IIS to begin by sending a burst of content when a video 
file is requested. This ensures that the user can start playback as quickly as 
possible. However, after this burst—for example, after the user has downloaded 10 
seconds of video—the rest of the video data is sent much more slowly. Limiting 
the transfer rate has no real effect on the client’s ability to play the media, as long 
as the client can download the content faster than the application can play it. (In 
other words, a 700 Kbps transfer limit would be a disaster if you had a high-quality 
video with a bit rate greater than 700 Kbps.) 
www.it-ebooks.info
CHAPTER 12  SOUND, VIDEO, AND DEEP ZOOM 
429 
 Note  Bit-rate throttling also saves bandwidth overall. That’s because most web surfers won’t watch a video 
form start to finish. It’s estimate
throwing away any extra unwatched video data they’ve downloaded in advance. 
• IIS smooth streaming: With smooth streaming, the web server customizes the bit 
rate of the media file to suit the client. If the situation changes—for example, the 
network starts to slow down—the server deals with the issue seamlessly, 
automatically adjusting the bit rate down, and bringing it back up again when the 
connection improves. The player won’t have to stop and refill its buffer. Similarly, 
clients with more CPU resources are given chunks higher-bit-rate video, while 
more limited clients are given reduced-bit-rate video. 
To use either of these features, you need to download the IIS Media Services, which Microsoft 
provides as a free download at www.iis.net/media. To create video files that support smooth streaming, 
you’ll also need Expression Encoder Pro (rather than the free version). To learn more about bit-rate 
throttling and how to configure it, read the walk-through at http://tinyurl.com/r7h6hp. To learn more 
about smooth streaming and its architecture, see http://tinyurl.com/cszay7. 
Advanced Video Playback 
You now know enough to play audio and video in a Silverlight application. However, a few finer details 
can help you get the result you want when dealing with video. First, you need to start with the right type 
of video—that means a file in the right format and with the right dimensions and bit rate (the number of 
bytes of data required per second). You may also want to consider a streamed video file for optimum 
network efficiency. Next, you may be interested in additional features such as markers. And finally, some 
of the most dazzling Silverlight effects depend on an artful use of the VideoBrush, which allows you to 
paint an ordinary Silverlight element with live video. You’ll explore all these topics in the following 
sections. 
Video Encoding 
To get the best results, you should prepare your files with Silverlight in mind. For example, you should 
use video files that won’t overwhelm the bandwidth of your visitors. This is particularly true if you plan 
to use large media files (for example, to display a 30-minute lecture). 
Typically, the WMV files you use in your Silverlight application will be a final product based on 
larger, higher-quality original video files. Often, the original files will be in a non-WMV format. However, 
this detail isn’t terribly important, because you’ll need to reencode them anyway to reduce their size and 
quality to web-friendly proportions. 
To get the right results when preparing video for the Web, you need the right tool. Microsoft 
provides two options: 
• Windows Movie Maker: Included with some versions of Windows (such as 
Windows Vista) and aimed squarely at the home user, Windows Movie Maker is 
too limiting for professional use. Although it can work in a pinch, its lack of control 
and its basic features makes it more suitable for authoring home movies than 
preparing web video content. 
www.it-ebooks.info
CHAPTER 12  SOUND, VIDEO, AND DEEP ZOOM 
430 
• Expression Encoder: Available as a premium part of Microsoft’s Expression Suite, 
Expression Encoder boasts some heavyweight features. Best of all, it’s designed for 
Silverlight, which means it provides valuable features such as the automatic 
generation of custom-skinned Silverlight video pages. Best of all, Expression 
Encoder is available in a free version that you can download at 
www.microsoft.com/expression/products/Encoder4_Overview.aspx. 
 Note  The premium version of Expression Encoder (called Expression Encoder Pro) adds support for H.264 
encoding, unlimited screen-capture recording (the free version is capped at ten minutes), and IIS Smooth 
Streaming (a feature that lets your web server adjust the quality of streamed video based on changing network 
conditions and the client’s CPU resources). If you don’t need these features, the free version of Expression Encoder 
is a remarkably polished and powerful tool. 
To learn more about video encoding, you can browse the product documentation, website articles, 
or a dedicated book. The following sections outline the basics to get you started with Expression 
Encoder. 
Encoding in Expression Encoder 
Expression Encoder gives you basic encoding ability, with a few nifty extra features: 
• Simple video editing: You can cut out sections of video, insert a lead-in, and 
perform other minor edits. 
• Overlays: You can watermark videos with a still or animated logo that stays 
superimposed over the video for as long as you want. 
• A/B compare: To test the effect of a change or a new encoding, you can play the 
original and preview the converted video at the same time. Expression Encoder 
keeps both videos synchronized, so you can get a quick sense of quality 
differences. 
• Silverlight-ready: Expression Encoder ships with suitable profiles for a Silverlight 
application. Additionally, Expression Encoder allows you to create a fully skinned 
Silverlight video player, complete with nifty features like image thumbnails. 
To encode a video file in Expression Encoder, follow these steps: 
1. When the program starts, choose Silverlight Project, and click OK. 
2. To specify the source file, choose File 
Import. Browse to the appropriate 
media file, select it, and click Open. There will be a short delay while 
Expression Encoder analyzes the file before it appears in the list in the Sources 
tab at the bottom of the window. At this point, you can perform any other edits 
you want, such as trimming out unwanted video, inserting a lead-in, or adding 
an overlay. (Many of these changes are made through the Enhance tab, which 
you can show by choosing Window 
Enhance.) 
www.it-ebooks.info
CHAPTER 12  SOUND, VIDEO, AND DEEP ZOOM 
431 
3. To specify the destination file, look for the Output tab on the right side of the 
window. In the Job Output section, you can specify the directory where the 
new file will be placed and its name. 
4. To choose the bit rate, look in the Presets tab (in the top-right corner of the 
window), and expand the Encoding for Silverlight section. Then, expand the 
VC-1 section inside. If you’re using progressive downloads, you need to select 
a format from the Variable bit-rate group. If you’re using streaming with 
Windows Media Services, choose a format from the Constant bit-rate group 
instead. Different formats result in different bitrates, video quality, and video 
size—to get more details, hover over a format in the list (as shown in Figure 12-
4. When you’ve picked the format you want (or if you just want to preview the 
effect it will have on your video), click the Apply button at the bottom of the 
Presets tab. 
Figure 12-4. Choosing the type of encoding 
www.it-ebooks.info
CHAPTER 12  SOUND, VIDEO, AND DEEP ZOOM 
432 
SILVERLIGHT COMPRESSION: CBR AND VBR 
Depending on whether you’re planning to use streaming or simple progressive downloads, Silverlight 
chooses between two compression modes: 
• Constant Bit-Rate Encoding (CBR): This is the best choice if you plan to allow video 
streaming. With CBR encoding, the average bit rate and the peak bit rate are the 
same, which means the data flow remains relatively constant at all times. Another 
way of looking at this is that the quality of the encoding may vary in order to 
preserve a constant bit rate, ensuring that the user gets smooth playback. (This 
isn’t necessary if your application is using progressive downloading, because then 
it will cache as much of the media file as it can.) 
• Variable Bit-Rate Encoding (VBR): This is the best choice if you plan to use 
progressive downloading. With VBR encoding, the bit rate varies throughout the 
file depending on the complexity of the video, meaning more complex content is 
encoded with a higher bit rate. In other words, the quality remains constant, but 
the bit rate is allowed to change. Video files are usually limited by their worst 
parts, so a VBR-encoded file generally requires a smaller total file size to achieve 
the same quality as a CBR-encoded file. When you use VBR encoding with 
Silverlight, the maximum bit rate is still constrained. For example, if you choose 
the VC-1 Web Server 512k DSL profile, you create encoded video with an average 
bit rate of 350 Kbps (well within the range of the 512 Kbps connection) and a 
maximum bit rate of 750 Kbps. 
5. After you choose an encoding, the relevant information appears in the Video 
section of the Encode tab. Before you perform the encoding, you can tweak 
these details. For example, you can adjust the dimensions of the video output 
using the Size box. You can also preview what the file will look like by playing it 
in the video window on the left. 
6. To encode your video, click the Encode button at the bottom of the window, in 
the Media Content panel. If you want, you can save your job when the 
encoding is finished so you can reuse its settings later (perhaps to encode an 
updated version of the same file). 
Markers 
Markers are text annotations that are embedded in a media file and linked to a particular time. 
Technically, the WMV format supports text markers and script commands (used to do things like launch 
web pages while playback is underway), but Silverlight treats both of these the same: as timed 
bookmarks with a bit of text. 
Markers provide some interesting possibilities for creating smarter Silverlight-based media players. 
For example, you can embed captions as a set of markers and display them at the appropriate times. 
(You could even use this technique to build a poor man’s subtitling system.) Or, you can embed other 
types of instructions, which your application can then read and act on. 
www.it-ebooks.info
Documents you may be interested
Documents you may be interested