Partilhar via


MediaCapture.SetEncoderProperty(MediaStreamType, Guid, Object) Método

Definição

Define uma propriedade de codificação.

public:
 virtual void SetEncoderProperty(MediaStreamType mediaStreamType, Platform::Guid propertyId, Platform::Object ^ propertyValue) = SetEncoderProperty;
void SetEncoderProperty(MediaStreamType const& mediaStreamType, winrt::guid const& propertyId, IInspectable const& propertyValue);
public void SetEncoderProperty(MediaStreamType mediaStreamType, Guid propertyId, object propertyValue);
function setEncoderProperty(mediaStreamType, propertyId, propertyValue)
Public Sub SetEncoderProperty (mediaStreamType As MediaStreamType, propertyId As Guid, propertyValue As Object)

Parâmetros

mediaStreamType
MediaStreamType

O tipo de dados de mídia que o fluxo representa, como vídeo ou áudio.

propertyId
Guid

Platform::Guid

winrt::guid

A propriedade de codificação a ser definida.

propertyValue
Object

Platform::Object

IInspectable

O novo valor da propriedade de codificação.

Requisitos do Windows

Funcionalidades do aplicativo
backgroundMediaRecording microphone webcam

Comentários

Você só poderá chamar SetEncoderProperty com mediaStreamType igual a MediaStreamType.Audio, se a propriedade do codificador for aplicada apenas ao codificador de áudio no coletor de registros. O coletor de visualização não permite que você defina um perfil de codificação com áudio compactado.

Para câmeras não H.264, quando você chama SetEncoderProperty antes do início da gravação ou visualização, a propriedade é armazenada localmente. Quando você inicia a gravação, a propriedade é aplicada ao codificador no momento da inicialização do codificador. Para configurar propriedades de codificação estática, você deve chamar SetEncoderProperty antes do início da gravação ou da visualização. Antes do início da gravação ou da visualização, GetEncoderProperty retornará o valor da propriedade armazenada localmente.

Se a câmera for uma câmera H.264 e o fluxo em que SetEncoderProperty for chamado for do tipo MediaStreamType.VideoRecord, a propriedade será aplicada diretamente à câmera. Isso é verdadeiro antes e depois do início da gravação.

Para câmeras não H.264, quando você chama SetEncoderProperty depois de obter o retorno de chamada de conclusão do registro ou da versão prévia iniciada, a propriedade é definida diretamente no codificador e, portanto, é usada para configurar propriedades de codificação dinâmica.

Se você chamar SetEncoderProperty depois de emitir uma chamada para iniciar a gravação ou visualização e antes de obter o retorno de chamada de conclusão iniciado pelo registro ou visualização, receberá um erro de MF_E_INVALIDREQUEST , pois a propriedade não pode ser aplicada a configurações estáticas nem dinâmicas.

Para girar o fluxo de visualização, use o GUID definido como MF_MT_VIDEO_ROTATION. Para obter diretrizes sobre como lidar com a orientação ao usar a câmera, consulte Manipular a orientação do dispositivo com MediaCapture.

Aplica-se a