Novidades desta versão

Local Navigation

Multimídia

Usar modos de cena de câmera

Você pode usar novas constantes e métodos na classe net.rim.device.api.amms.control.camera.FeatureControl para definir e para recobrar o modo de cena de entrada (tal como retrato, paisagem, esporte, neve, macro, e assim por diante) e verificação se um modo de cena é compatível com o aparelho. Você pode usar osetSceneMode() método para definir o modo da câmera ao modo de cena especificado no parâmetro. O parâmetro deve ser um das constantes localizadas na classe FeatureControl antepôs como prefixo por SCENE_MODE_. O método getCurrentSceneMode() recobra o modo de cena de conjunto atual representado por uma das constantes prefixada por SCENE_MODE_, e isSceneModeSupported() verifica se um modo de cena é compatível.

Modos de controle de foco

É possível usar constantes e métodos na classe net.rim.device.api.amms.control.camera.EnhancedFocusControl para definir o modo de controle de foco.

O controle de foco padrão da câmera em um aparelho BlackBerry foi alterado de captura única para o melhor modo disponível (normalmente contínuo). Se você contar apenas com um modo de foco específico para seu aplicativo, é necessário ativá-lo claramente usando estas novas constantes. Você pode usar oFOCUS_MODE_CONTINUOUS, FOCUS_MODE_FIXED e FOCUS_MODE_SINGLESHOT para definir explicitamente o modo de foco da câmera para: contínuo, automático e captura única, respectivamente. É possível passar estas constantes para o método setFocusMode(String mode) para definir o modo de foco da câmera. Você pode recuperar o modo de foco atual da câmera usando o método getCurrentFocusMode(). Você pode verificar se um modo de foco específico é suportado ao passar uma das constantes para o método isFocusModeSupported(String focusModeID), que retornará verdadeiro, se suportado, ou falso.

Gravação de vídeo sem áudio

É possível especificar none como um valor para o parâmetroaudio_codec durante a criação do reprodutor de gravação de vídeo. Por exemplo: createPlayer("capture://video?encoding=video/3gpp&audio_codec=none"). Se você especificar none, o vídeo será gravado sem áudio. Além disso, System.getProperty("audio.encodings") retorna none como um valor permitido para o parâmetro audio_codec.

Taxa de bits suportados para diversos codecs

É possível executar System.getProperty("audio.encodings.bitrate.ranges") e System.getProperty("video.encoding.bitrate.ranges") para recuperar uma lista de intervalos de taxas de bits para os codecs suportados. O formato da string retornada é: "codec:[min]-[max] codec:[min]-[max]... codec[min]-[max]", em que o codec é o nome que corresponde ao nome do código a ser usado na string do localizador para iniciar uma gravação (por exemplo: capture://video?encoding=video/3gpp&audio_codec=codec&video_codec=<codec>&rate=<audiorate>&video_rate=<videorate>).

Configuração de taxa de bits na gravação de áudio de vídeo durante inicialização

Você pode especificar a taxa de bits para codecs de áudio e vídeo quando criar uma instância Player usando a classe Manager ao definir o parâmetro de taxas. Por exemplo: createPlayer("capture://video?encoding=video/3gpp&rate=<bitrate>&video_rate<bitrate>").

As taxas de bits para diversos codecs podem ser obtidas ao usar System.getProperty("audio.encodings.bitrate.ranges") e System.getProperty("video.encoding.bitrate.ranges").

Interface avançada de controle de vídeo

É possível usar a nova interface AdvancedVideoControl, localizada no pacote net.rim.device.api.media.control para definir um modo de exibição de vídeo. Este novo modo permite que você represente componentes de UI principais por campos de vídeo, como em controles de reprodução. A interface tem uma constante, USE_GUI_ADVANCED, usada como parâmetro no método VideoControl.initDisplayMode(int mode, Object arg).

API de configuração de armazenamento em buffer

Você pode usar a interface StreamingBufferControl, localizada no pacote net.rim.device.api.media.control, para controlar o buffers internos do reprodutor de mídias. O método flush() limpa todos os dados que atualmente são armazenados em buffer (mas não ainda reproduzidos) pelo reprodutor de mídias. O método setBufferTime(int millis) controla a quantidade de tempo de armazenamento antes de reprodução começar.

VoIP em aparelhos baseados em CDMA

Você pode habilitar a funcionalidade VoIP em aparelhos baseados em CDMA usando os parâmetros voipMode e rate do método createPlayer(String locator) localizado na classe javax.microedition.media.Manager.

Troca de conteúdo rápido de RTSP

Quando você usar o protocolo RTSP para visualizar vídeos, é possível trocar feeds de vídeo sem a necessidade de desconectar e reconectar ao servidor (se suportado) ao usar a nova interface de RtspContentControl localizada no pacote net.rim.device.api.media.control. Isso pode resultar em troca de conteúdo mais rápida e eficiente.

Próximo tópico: Conexões de rede

Estas informações foram úteis? Gostaríamos de receber seus comentários.