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

📄 guideaudioexamples.html

📁 VC5.6.7的一个扩展库。跟DirectX的功能差不多。
💻 HTML
字号:
<HTML><HEAD><TITLE>Audio 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="Event Examples"HREF="guideeventexamples.html"><LINKREL="NEXT"TITLE="CDROM Examples"HREF="guidecdromexamples.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="guideeventexamples.html"ACCESSKEY="P">Prev</A></TD><TDWIDTH="80%"ALIGN="center"VALIGN="bottom">Chapter 4. Examples</TD><TDWIDTH="10%"ALIGN="right"VALIGN="bottom"><AHREF="guidecdromexamples.html"ACCESSKEY="N">Next</A></TD></TR></TABLE><HRALIGN="LEFT"WIDTH="100%"></DIV><DIVCLASS="SECT1"><H1CLASS="SECT1"><ANAME="GUIDEAUDIOEXAMPLES"></A>Audio Examples</H1><P></P><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="AEN382"></A>Opening the audio device</H2><P><PRECLASS="PROGRAMLISTING">    SDL_AudioSpec wanted;    extern void fill_audio(void *udata, Uint8 *stream, int len);    /* Set the audio format */    wanted.freq = 22050;    wanted.format = AUDIO_S16;    wanted.channels = 2;    /* 1 = mono, 2 = stereo */    wanted.samples = 1024;  /* Good low-latency value for callback */    wanted.callback = fill_audio;    wanted.userdata = NULL;    /* Open the audio device, forcing the desired format */    if ( SDL_OpenAudio(&#38;wanted, NULL) &#60; 0 ) {        fprintf(stderr, "Couldn't open audio: %s\n", SDL_GetError());        return(-1);    }    return(0);</PRE></P></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="AEN386"></A>Playing audio</H2><P><PRECLASS="PROGRAMLISTING">    static Uint8 *audio_chunk;    static Uint32 audio_len;    static Uint8 *audio_pos;    /* The audio function callback takes the following parameters:       stream:  A pointer to the audio buffer to be filled       len:     The length (in bytes) of the audio buffer    */    void fill_audio(void *udata, Uint8 *stream, int len)    {        /* Only play if we have data left */        if ( audio_len == 0 )            return;        /* Mix as much data as possible */        len = ( len &#62; audio_len ? audio_len : len );        SDL_MixAudio(stream, audio_pos, len, SDL_MIX_MAXVOLUME);        audio_pos += len;        audio_len -= len;    }    /* Load the audio data ... */    ;;;;;    audio_pos = audio_chunk;    /* Let the callback function play the audio chunk */    SDL_PauseAudio(0);    /* Do some processing */    ;;;;;    /* Wait for sound to complete */    while ( audio_len &#62; 0 ) {        SDL_Delay(100);         /* Sleep 1/10 second */    }    SDL_CloseAudio();</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="guideeventexamples.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="guidecdromexamples.html"ACCESSKEY="N">Next</A></TD></TR><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top">Event Examples</TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="guideexamples.html"ACCESSKEY="U">Up</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top">CDROM Examples</TD></TR></TABLE></DIV></BODY></HTML>

⌨️ 快捷键说明

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