Lectura de archivos con el lector asincrónico
[La característica asociada a esta página, WINDOWS Media Format 11 SDK, es una característica heredada. Se ha reemplazado por lector de origen y escritor receptor. Lector de origen y escritor receptor se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use lector fuente y escritor receptor en lugar del SDK de Windows Media Format 11, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.
El lector asincrónico lee el contenido de los archivos ASF mediante varios subprocesos y llamadas asincrónicas. Las características compatibles con el lector asincrónico hacen que sea adecuado para las aplicaciones que representan contenido a los usuarios finales.
La funcionalidad más básica del objeto lector se puede dividir en los pasos siguientes. En estos pasos, "la aplicación" hace referencia al programa que escribes con el SDK de Windows Media Format.
- La aplicación implementa la interfaz IWMReaderCallback para controlar los mensajes del lector. Esto incluye dos métodos de devolución de llamada: OnStatus, que recibe mensajes relacionados con el estado de varios aspectos del lector y OnSample, que recibe muestras sin comprimir del lector.
- La aplicación pasa al lector el nombre de un archivo que se va a leer. Cuando el lector abre el archivo, asigna un número de salida a cada secuencia. Si el archivo usa exclusión mutua, el lector asigna una única salida para todas las secuencias mutuamente excluyentes.
- La aplicación obtiene información sobre la configuración de las distintas salidas del lector. La información recopilada permitirá que la aplicación represente correctamente los ejemplos multimedia.
- La aplicación indica al lector que empiece a leer datos del archivo. El lector comienza a entregar muestras sin comprimir a la devolución de llamada OnSample de uno en uno en búferes encapsulados en objetos de búfer. Los ejemplos entregados por el lector están en orden de presentación. El lector seguirá entregando muestras hasta que la aplicación se detenga o hasta que se alcance el final del archivo.
- La aplicación es responsable de representar los datos después de que el lector los entregue. El SDK de Windows Media Format no proporciona ninguna rutina de representación. Normalmente, las aplicaciones usarán otros SDK para representar datos, como el SDK de Microsoft DirectX® o las funciones multimedia de Microsoft SDK de Plataforma para Windows.
- Una vez completada la lectura, la aplicación indica al lector que cierre el archivo.
Estos pasos se muestran en la aplicación de ejemplo AudioPlayer, entre otros. Para obtener más información, vea Aplicaciones de ejemplo.
El lector también admite funcionalidades más avanzadas. El lector le permite hacer lo siguiente:
- Pausar la reproducción de un archivo.
- Recuperar estadísticas de rendimiento del lector.
- Controlar la selección de flujo para secuencias mutuamente excluyentes.
- Asigne manualmente búferes para la salida.
- Proporcione su propio reloj.
- Recupere el estado de las operaciones de archivo (almacenamiento en búfer, descarga o guardado).
- Abra un archivo mediante la interfaz COM estándar, IStream.
- Busque puntos específicos en un archivo ASF.
- Lee los datos del perfil del encabezado del archivo.
En las secciones siguientes se describe el uso del objeto reader en detalle.
- Para implementar mensajes de lector en la devolución de llamada onStatus
- Para implementar la devolución de llamada onSample
- Para crear un lector y abrir un archivo
- Para recuperar ejemplos multimedia con el lector asincrónico
- Buscar por tiempo mediante el lector asincrónico
- Para buscar por número de fotograma mediante el lector asincrónico
- Para buscar por código de hora SMPTE mediante el lector asincrónico
- Para buscar marcadores
- Para pausar o detener la reproducción
- Para obtener estadísticas de rendimiento del lector
- Para usar la selección manual de secuencias
- Para entregar ejemplos comprimidos con el lector asincrónico
Temas relacionados