Compartilhar via


Networked Media Device Best Practices

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

O seguinte seções descrevem dicas e truques para ajudá-lo a desenvolver um dispositivo de mídia Rede (NDM).

Tocando Rented de conteúdo de vídeo

A reprodução vídeo de conteúdo de http://www.movielink.com em um dispositivo de mídia de rede

  1. Usando Microsoft Windows Media conectar-se (WMC), compartilhar a pasta que contém o de conteúdo de http://www.movielink.com.

    O local da pasta é geralmente C:\Program Files\Movielink\MovielinkManager\Data\Content.

  2. Após baixar o filme alugado, Clear o atributo oculto arquivo Para permitir que o arquivo seja acessível para o NMD.

    Todos os rented de conteúdo de http://www.movielink.COM define o atributo Oculto.

Armazenar mais usados os bitmaps na memória de vídeo

Para evitar uma cor-conversão em cada blit de cores, não use seções device-independent bitmap (bitmap independente de dispositivo (DIB)) que não são o mesmo formato como o primário. A chamar para o SHLoadDIBitmap função no seguinte exemplo de código resulta em um bitmap que é 24 bpp e que é armazenado na memória sistema. Porque o dispositivo está execução em bpp 32, cada tempo o BitBlt função é chamado, uma cor-conversão leva local. Pode haver casos onde o hardware não é possível executar um sistema - para - vídeo blit de cores, portanto, mesmo se o bitmap estava no formato correto, o hardware exibir não seria desenhar o bitmap. O seguinte exemplo de código não armazenar bitmaps usados freqüentes no vídeo memória.

// To load the bitmap
HBITMAP hbmBitmap = SHLoadDIBitmap("sample.bmp");

// To draw the bitmap
HDC hdcMem = CreateCompatibleDC( hdcMain );
HGDIOBJ hobjMem = SelectObject(hdcMem, hbmBitmap);
BitBlt( hdcMain, ..., hdcMem, ..., SRCCOPY);
SelectObject( hdcMem, hobjMem );
DeleteDC( hdcMem );

O seguinte exemplo de código resulta em que ocorre no tempo carregar bitmap para blit cores uma cor conversão get o bitmap no mesmo formato como o primário. O seguinte exemplo de código armazena o bitmap em vídeo memória, portanto, ele pode ser desenhado com a aceleração hardware. Uma desvantagem para o seguinte exemplo de código é que ele usa vídeo memória.

// To load the bitmap
HBITMAP hbmBitmap = SHLoadDIBitmap("sample.bmp");
HDC hdcCompat = CreateCompatibleDC( hdcMain );
HDC hdcMem = CreateCompatibleDC( hdcMain );
BITMAP Bitmap = { 0 };
GetObject( hbmBitmap, sizeof ( Bitmap ), &Bitmap );
int Width = Bitmap.bmWidth;
int Height = Bitmap.bmHeight;
HBITMAP hbmCompat = CreateCompatibleBitmap( hdcMain, Width, Height );
HGDIOBJ hobjMem = SelectObject( hdcMem, hbmBitmap );
HGDIOBJ hobjCompat = SelectObject( hdcCompat, hbmCompat );
BitBlt( hdcCompat, 0, 0, Width, Height, hdcMem, 0, 0, SRCCOPY );
SelectObject( hdcMem, hobjMem );
SelectObject( hdcCompat, hobjCompat );
DeleteDC( hdcCompat );
DeleteDC( hdcMem );
DeleteObject( hbmBitmap );

// To draw the bitmap
HDC hdcMem = CreateCompatibleDC( hdcMain );
HGDIOBJ hobjMem = SelectObject( hdcMem, hbmCompat );
BitBlt( hdcMain, ..., hdcMem, ..., SRCCOPY );
SelectObject( hdcMem, hobjMem );
DeleteDC( hdcMem );

See Also

Other Resources

Developing a Networked Media Device