Método IMFPMediaPlayer::CreateMediaItemFromObject (mfplay.h)
Crea un elemento multimedia a partir de un objeto .
Sintaxis
HRESULT CreateMediaItemFromObject(
[in] IUnknown *pIUnknownObj,
[in] BOOL fSync,
[in] DWORD_PTR dwUserData,
[out] IMFPMediaItem **ppMediaItem
);
Parámetros
[in] pIUnknownObj
Puntero a la interfaz IUnknown del objeto. Vea la sección Comentarios.
[in] fSync
Si es TRUE, el método se bloquea hasta que se completa. Si es FALSE, el método no bloquea y se completa de forma asincrónica.
[in] dwUserData
Valor definido por la aplicación que se va a almacenar en el elemento multimedia. Para recuperar este valor del elemento multimedia, llame a IMFPMediaItem::GetUserData.
[out] ppMediaItem
Recibe un puntero a la interfaz IMFPMediaItem . El autor de la llamada debe liberar la interfaz . Si fSync es TRUE, este parámetro debe ser un puntero válido. Si bSync es FALSE, este parámetro debe ser NULL.
Valor devuelto
El método devuelve un valor HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.
Código devuelto | Descripción |
---|---|
|
El método se ha llevado a cabo de forma correcta. |
|
Argumento no válido. |
|
Solicitud no válida. Este error puede producirse cuando fSync es FALSE y la aplicación no proporcionó una interfaz de devolución de llamada. Vea la sección Comentarios. |
|
Se llamó al método Shutdown del objeto. |
Comentarios
El parámetro pIUnknownObj debe especificar uno de los siguientes:
- Puntero a un origen multimedia. Los orígenes multimedia exponen la interfaz IMFMediaSource . Es responsabilidad del autor de la llamada llamar a IMFMediaSource::Shutdown en la fuente multimedia.
- Puntero a una secuencia de bytes. Los flujos de bytes exponen la interfaz IMFByteStream . Internamente, el método llama al método IMFSourceResolver::CreateObjectFromByteStream para crear un origen multimedia a partir de la secuencia de bytes. Por lo tanto, un controlador de secuencia de bytes debe estar registrado para la secuencia de bytes. Para obtener más información sobre los controladores de secuencias de bytes, vea Controladores de esquema y controladores de Byte-Stream.
El método CreateMediaItemFromObject se puede llamar de forma sincrónica o asincrónica:
- Si fSync es TRUE, el método se completa de forma sincrónica. El puntero IMFPMediaItem se devuelve en el parámetro ppMediaItem .
- Si fSync es FALSE, el método se completa de forma asincrónica. Cuando se completa la operación, se invoca el método de devolución de llamada IMFPMediaPlayerCallback::OnMediaPlayerEvent de la aplicación. El tipo de evento es MFP_EVENT_TYPE_MEDIAITEM_CREATED. Los datos del evento contienen el puntero IMFPMediaItem para el nuevo elemento multimedia.
Si realiza varias llamadas asincrónicas a CreateMediaItemFromObject, no se garantiza que se completen en el mismo orden. Use el parámetro dwUserData para buscar coincidencias con elementos multimedia creados con solicitudes pendientes.
Configuración del origen
Si pIUnknownObj apunta a una secuencia de bytes, puede configurar el origen multimedia realizando los pasos siguientes:- Llame a QueryInterface en el puntero IMFPMediaPlayer para obtener la interfaz IPropertyStore .
- Llame a IPropertyStore::SetValue para establecer propiedades para el origen multimedia. Para obtener una lista de las propiedades de configuración, consulte Configuración de un origen multimedia. Los orígenes de medios de terceros pueden definir propiedades personalizadas.
- Llame al método CreateMediaItemFromObject para crear el elemento multimedia.
Requisitos
Cliente mínimo compatible | Windows 7 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 R2 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | mfplay.h |
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de