⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guidecdromexamples.html

📁 VC5.6.7的一个扩展库。跟DirectX的功能差不多。
💻 HTML
字号:
<HTML><HEAD><TITLE>CDROM Examples</TITLE><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+"><LINKREL="HOME"TITLE="SDL Library Documentation"HREF="index.html"><LINKREL="UP"TITLE="Examples"HREF="guideexamples.html"><LINKREL="PREVIOUS"TITLE="Audio Examples"HREF="guideaudioexamples.html"><LINKREL="NEXT"TITLE="Time Examples"HREF="guidetimeexamples.html"></HEAD><BODYCLASS="SECT1"BGCOLOR="#FFF8DC"TEXT="#000000"LINK="#0000ee"VLINK="#551a8b"ALINK="#ff0000"><DIVCLASS="NAVHEADER"><TABLESUMMARY="Header navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><THCOLSPAN="3"ALIGN="center">SDL Library Documentation</TH></TR><TR><TDWIDTH="10%"ALIGN="left"VALIGN="bottom"><AHREF="guideaudioexamples.html"ACCESSKEY="P">Prev</A></TD><TDWIDTH="80%"ALIGN="center"VALIGN="bottom">Chapter 4. Examples</TD><TDWIDTH="10%"ALIGN="right"VALIGN="bottom"><AHREF="guidetimeexamples.html"ACCESSKEY="N">Next</A></TD></TR></TABLE><HRALIGN="LEFT"WIDTH="100%"></DIV><DIVCLASS="SECT1"><H1CLASS="SECT1"><ANAME="GUIDECDROMEXAMPLES"></A>CDROM Examples</H1><P></P><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="AEN393"></A>Listing CD-ROM drives</H2><P><PRECLASS="PROGRAMLISTING">    #include "SDL.h"    /* Initialize SDL first */    if ( SDL_Init(SDL_INIT_CDROM) &#60; 0 ) {        fprintf(stderr, "Couldn't initialize SDL: %s\n",SDL_GetError());        exit(1);    }    atexit(SDL_Quit);    /* Find out how many CD-ROM drives are connected to the system */    printf("Drives available: %d\n", SDL_CDNumDrives());    for ( i=0; i&#60;SDL_CDNumDrives(); ++i ) {        printf("Drive %d:  \"%s\"\n", i, SDL_CDName(i));    }</PRE></P></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="AEN397"></A>Opening the default drive</H2><P><PRECLASS="PROGRAMLISTING">    SDL_CD *cdrom;    CDstatus status;    char *status_str;    cdrom = SDL_CDOpen(0);    if ( cdrom == NULL ) {        fprintf(stderr, "Couldn't open default CD-ROM drive: %s\n",                        SDL_GetError());        exit(2);    }    status = SDL_CDStatus(cdrom);    switch (status) {        case CD_TRAYEMPTY:            status_str = "tray empty";            break;        case CD_STOPPED:            status_str = "stopped";            break;        case CD_PLAYING:            status_str = "playing";            break;        case CD_PAUSED:            status_str = "paused";            break;        case CD_ERROR:            status_str = "error state";            break;    }    printf("Drive status: %s\n", status_str);    if ( status &#62;= CD_PLAYING ) {        int m, s, f;        FRAMES_TO_MSF(cdrom-&#62;cur_frame, &#38;m, &#38;s, &#38;f);        printf("Currently playing track %d, %d:%2.2d\n",        cdrom-&#62;track[cdrom-&#62;cur_track].id, m, s);    }</PRE></P></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="AEN401"></A>Listing the tracks on a CD</H2><P><PRECLASS="PROGRAMLISTING">    SDL_CD *cdrom;          /* Assuming this has already been set.. */    int i;    int m, s, f;    SDL_CDStatus(cdrom);    printf("Drive tracks: %d\n", cdrom-&#62;numtracks);    for ( i=0; i&#60;cdrom-&#62;numtracks; ++i ) {        FRAMES_TO_MSF(cdrom-&#62;track[i].length, &#38;m, &#38;s, &#38;f);        if ( f &#62; 0 )            ++s;        printf("\tTrack (index %d) %d: %d:%2.2d\n", i,        cdrom-&#62;track[i].id, m, s);    }</PRE></P></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="AEN405"></A>Play an entire CD</H2><P><PRECLASS="PROGRAMLISTING">    SDL_CD *cdrom;          /* Assuming this has already been set.. */    // Play entire CD:    if ( CD_INDRIVE(SDL_CDStatus(cdrom)) )        SDL_CDPlayTracks(cdrom, 0, 0, 0, 0);        // Play last track:        if ( CD_INDRIVE(SDL_CDStatus(cdrom)) ) {            SDL_CDPlayTracks(cdrom, cdrom-&#62;numtracks-1, 0, 0, 0);        }        // Play first and second track and 10 seconds of third track:        if ( CD_INDRIVE(SDL_CDStatus(cdrom)) )            SDL_CDPlayTracks(cdrom, 0, 0, 2, CD_FPS * 10);</PRE></P></DIV></DIV><DIVCLASS="NAVFOOTER"><HRALIGN="LEFT"WIDTH="100%"><TABLESUMMARY="Footer navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top"><AHREF="guideaudioexamples.html"ACCESSKEY="P">Prev</A></TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="index.html"ACCESSKEY="H">Home</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top"><AHREF="guidetimeexamples.html"ACCESSKEY="N">Next</A></TD></TR><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top">Audio Examples</TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="guideexamples.html"ACCESSKEY="U">Up</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top">Time Examples</TD></TR></TABLE></DIV></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -