Acerca de la ripping de CD

[La característica asociada a esta página, Reproductor multimedia de Windows SDK, es una característica heredada. Se ha reemplazado por MediaPlayer. MediaPlayer se ha optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer en lugar de Reproductor multimedia de Windows SDK, 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 SDK de Reproductor multimedia de Windows 11 presenta una nueva funcionalidad para copiar pistas de audio de discos CDs en el equipo del usuario. Este proceso se denomina ripping.

Al extraer pistas de audio mediante las interfaces del SDK de Reproductor multimedia de Windows, las pistas de música resultantes se crean mediante la configuración definida por el usuario en el cuadro de diálogo Opciones de Reproductor multimedia de Windows.

Para enumerar las unidades de CD en el equipo del usuario, use la interfaz IWMPCdromCollection . Para recuperar un puntero a esta interfaz, llame a IWMPCore::get_cdromCollection. Mediante el uso de los métodos count y item , puede iterar la colección para recuperar un puntero de interfaz IWMPCdrom para cada unidad de CD del equipo del usuario. La interfaz IWMPCdrom representa una unidad de CD individual. Antes de empezar a arrancar un CD, primero debe llamar a QueryInterface a través de un puntero IWMPCdrom para recuperar un puntero a la interfaz IWMPCdromRip .

Para iniciar la operación de ripping, simplemente llame a IWMPCdromRip::startRip. Puede supervisar el progreso de la operación de captura mediante una llamada periódica a IWMPCdromRip::get_ripProgress. Este método recupera un valor de progreso para toda la operación de captura. El valor recuperado es un número que representa el porcentaje de captura completada. Puede supervisar el estado de la operación de ripping llamando periódicamente a IWMPCdromRip::get_ripState. Este método recupera un valor de enumeración WMPRipState que indica si la operación está en curso o detenida. También puede supervisar el estado de la operación de ripping controlando el evento IWMPEvents3::CdromRipStateChange . Debe tener cuidado de comparar el puntero IWMPCdromRip (proporcionado por el evento) con el puntero que representa la operación de ripping para asegurarse de que la operación generó el evento. Puede detener la operación de ripping llamando a IWMPCdromRip::stopRip.

Para recibir notificaciones de error sobre una operación de captura, puede controlar el evento IWMPEvents3::CdromRipMediaError . Al igual que CdromRipStateChange, este evento proporciona un puntero de interfaz IWMPCdromRip que representa la operación de ripping que generó el evento. El evento también proporciona un puntero IDispatch que representa el elemento multimedia que generó el evento. Puede llamar a QueryInterface a través de este puntero para recuperar un puntero IWMPMedia .

Acerca del modelo de objetos del reproductor