OSDN Git Service

SDL_CreateThread サンプルコードを修正 https://wiki.libsdl.org/SDL_CreateThread?action=diff...
[sdl2referencejp/sdl2referencejp.git] / Tutorial-SDL_AudioStream.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html lang="ja-JP">
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
5 <meta http-equiv="Content-Style-Type" content="text/css">
6 <meta name="keywords" content="Simple Directmedia Layer SDL2.0">
7 <link rel="top" href="index.html" title="\83z\81[\83\80">
8 <link rel="parent" href="CategoryAudio.html" title="1\82Â\8fã">
9 <title>SDL_AudioStream\82ð\8eg\82¤</title>
10 </head>
11 <body>
12 <a href="index.html">\96Ú\8e\9f</a> - SDL_AudioStream\82ð\8eg\82¤
13 <hr>
14 <h1>SDL_AudioStream\82ð\8eg\82¤</h1>
15 <p>
16 \8dÅ\8f\89\8aú\82©\82çSDL 2.0.6\82Ü\82Å, SDL\82É\82æ\82é\89¹\90º\82Ì\95Ï\8a·\82Í1\82Â\82Ì\95û\96@\82µ\82©\82È\82©\82Á\82½: <a href="SDL_AudioCVT.html">SDL_AudioCVT</a>\8d\\91¢\91Ì\82Ì\8eg\97p\82Å\82 \82é.
17 </p>
18 <p>
19 \82»\82ê\82Í\97l\81X\82È\8eg\82¢\95û\82Ì\82 \82é\95Ö\97\98\82ÈAPI\82¾\82ª, \82¢\82­\82Â\82©\82Ì\96â\91è\82ª\82 \82Á\82½:
20 <ul>
21 <li>\8eg\82¢\95û\82ð\97\9d\89ð\82·\82é\82Ì\82ª\93ï\82µ\82¢.
22 <li>\93®\93I\82È\8fó\91Ô\82ð\8e\9d\82Â\82±\82Æ\82ª\82Å\82«\82È\82¢; \8d\\91¢\91Ì\82ð\81u\89ð\95ú\81v\82·\82éAPI\82Í\82È\82­, \83\81\83\82\83\8a\8fã\82É\8am\95Û\82·\82é\82±\82Æ\82à\82Å\82«\82¸, \97l\81X\82È\95Ï\8a·\82Ì\82½\82ß\82É\93Á\95Ê\82È\82±\82Æ\82ð\82·\82é\82±\82Æ\82à\82Å\82«\82È\82¢. 2.0.6\82Å\82Í, \82½\82¾\90\94\83r\83b\83g\82Ì\93à\95\94\8fó\91Ô\82ð\95Û\91\82·\82é\82¾\82¯\82Ì\8eg\82¤\82±\82Æ\82ª\82Å\82«\82È\82¢\83|\83C\83\93\83^\82ª\8d\\91¢\91Ì\82ð\90è\97L\82µ\82Ä\82¢\82é.
23 \82±\82ê\82à\8b@\94\\82ð\91g\82Ý\8d\9e\82Þ\82±\82Æ\82ð\93ï\82µ\82­\82µ\82Ä\82¢\82é.
24 <li>\8f_\93î\90«\82É\8c\87\82¯\82é. \83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ª\8eg\82¤\83t\83B\81[\83\8b\83h\82Æ, SDL\82ª\8eg\82¤\83t\83B\81[\83\8b\83h\82ª\8c\88\82ß\82ç\82ê\82Ä\82¨\82è, \8ag\92£\82Å\82«\82é\97]\97T\82ª\82È\82¢.
25 <li>\82±\82ê\82ª\8dÅ\82à\96â\91è\82©\82à\82µ\82ê\82È\82¢: \93Á\92è\82Ì\83`\83\83\83\93\83N\82Ì\83f\81[\83^\82ð\8dÄ\83T\83\93\83v\83\8a\83\93\83O\82Å\82«\82È\82¢. \88ê\93x\82É\91S\82Ä\82Ì\83f\81[\83^\82ð\97^\82¦\82È\82¯\82ê\82Î\82È\82ç\82È\82¢. \82»\82¤\82µ\82È\82¢\82Æ\89¹\90º\8fo\97Í\82ª\93r\90Ø\82ê\94ò\82Î\82³\82ê\82Ä\82µ\82Ü\82¤.
26 </ul>
27 </p>
28 <p>
29 \83A\83v\83\8a\83P\81[\83V\83\87\83\93\82Ì\83I\81[\83f\83B\83I\83R\81[\83\8b\83o\83b\83N\82Æ, \91Î\8fÛ\82Ì\8aÂ\8b«\82ÌAPI\82Å\8ds\82í\82ê\82é, \95s\92è\82È\83T\83C\83Y, \8c`\8e®, \8e\9e\8aÔ\82Å\82Ì\83f\81[\83^\82Ì\90\90¬, \8fÁ\94ï\82Ì\8b´\93n\82µ\82Ì\82½\82ß\82É, \82µ\82Î\82ç\82­\82Ì\8aÔSDL\82ª\93à\95\94\82Å\8eg\82Á\82Ä\82¢\82½\82æ\82è\82æ\82¢API\82ª\82 \82Á\82½.
30 \82±\82ÌAPI\82Í\83f\81[\83^\82Ì\91¦\8e\9e\82Ì\95Ï\8a·\82Æ\8dÄ\83T\83\93\83v\83\8a\83\93\83O\82¾\82¯\82Å\82È\82­, \95Ð\95û\82Å\90\90¬\82³\82ê\82½\83f\81[\83^\82ð\95Ê\82Ì\95û\82ª\8fÁ\94ï\82·\82é\82Ü\82Å\83o\83b\83t\83@\82·\82é\82±\82Æ\82à\82Å\82«\82é.
31 </p>
32 <p>
33 SDL 2.0.7\82Å\82Í, \82±\82Ì\93à\95\94API\82ª\90®\97\9d\82³\82ê\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82Å\8eg\82¦\82é\82æ\82¤\82É\82È\82Á\82½. \82»\82ê\82ª<a href="SDL_AudioStream.html">SDL_AudioStream</a>\82Å\82 \82é.
34 </p>
35 <p>
36 \8d¬\97\90\82ð\94ð\82¯\82é\82½\82ß\82É: \82±\82ê\82Í\95â\8f\95\93I\82ÈAPI\82Å, \8eg\82í\82È\82­\82Ä\82à\89¹\90º\82Ì\8dÄ\90\82Æ\98^\89¹\82Í\8ds\82¦\82é.
37 SDL\82Í\82 \82È\82½\82Ì\83R\81[\83\8b\83o\83b\83N\82Æ\91Î\8fÛ\82Ì\8aÂ\8b«\82Ì\8aÔ\82Ì\83f\81[\83^\95Ï\8a·\82ð\82±\82ÌAPI\82ð\8eg\82Á\82Ä\88Ã\96Ù\82Ì\93à\82É\95Ï\8a·\82·\82é\82¾\82ë\82¤.
38 \82µ\82©\82µ, \82»\82ê\82ð\88Ó\8e¯\82·\82é\95K\97v\82Í\82È\82¢.
39 \82à\82µ\82 \82È\82½\82ª\83R\81[\83\8b\83o\83b\83N\82ð\8eg\82í\82¸\82É\95K\97v\82È\82Æ\82«\82ÉSDL\82É\89¹\90º\83f\81[\83^\82ð\93n\82µ\82½\82¢\82È\82ç\82Î, \82»\82ê\82à\89Â\94\\82¾\82ª, \82»\82ê\82Í\95Ê\82ÌAPI(<a href="SDL_QueueAudio.html">SDL_QueueAudio()</a>\82Æ\82»\82Ì\92\87\8aÔ)\82ð\8eg\82¤\82±\82Æ\82É\82È\82é.
40 </p>
41 <p>
42 <a href="SDL_AudioStream.html">SDL_AudioStream</a>\82ð\82·\82®\82É\8eg\82¦\82é\82Ì\82Í\8e\9f\82Ì\82æ\82¤\82È\8fê\8d\87\82Å\82 \82é:
43 <ul>
44 <li>
45 Ogg Vorbis\83t\83@\83C\83\8b\82ð\83f\83R\81[\83h\82µ\82½\82¢.
46 \82»\82µ\82Ä\8dÄ\90\82·\82é\82½\82ß\82É\91¦\8e\9e\82É\8ew\92è\82Ì\8c`\8e®\82É\95Ï\8a·\82µ\82½\82¢.
47 \82µ\82©\82µ, libvorbis\82Í\88ê\93x\82É\96³\88³\8fk\82Ì512\83o\83C\83g\82Ì\83f\81[\83^\82µ\82©\88µ\82¤\82±\82Æ\82ª\82Å\82«\82È\82¢.
48 \82 \82È\82½\82Í\82»\82ê\82ð\88ê\93x<a href="SDL_AudioStream.html">SDL_AudioStream</a>\82É\83v\83b\83V\83\85\82µ, \95K\97v\82É\89\9e\82\82Ä\88Ù\82È\82é\8c`\8e®\82É\95Ï\8a·\82³\82ê\82½\83f\81[\83^\82Æ\82µ\82Ä\95Ê\82Ì\91¤\82©\82ç\83v\83\8b\82Å\82«\82é.
49 <li>
50 VoIP\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ª\82 \82é.
51 \82µ\82©\82µ, \83l\83b\83g\83\8f\81[\83N\82Ì\8cü\82±\82¤\82Ì\83I\81[\83f\83B\83I\83p\83P\83b\83g\82ª\93Í\82­\82±\82Æ\82ð\95Û\8fá\82Å\82«\82È\82¢.
52 \82Ü\82½\82Í\83p\83P\83b\83g\82Ì\91å\82«\82³\82à\95ª\82©\82ç\82È\82¢.
53 \82Ü\82½\82Í\91S\82­\93Í\82©\82È\82©\82Á\82½\82Æ\82«\82Í\96³\89¹\82Ì\83`\83\83\83\93\83N\82Æ\92u\82«\8a·\82¦\82È\82¯\82ê\82Î\82È\82ç\82È\82¢...\82µ\82©\82µ, \8dÄ\90\82É\94õ\82¦\82Ä1\82Â\82Ì\82Ü\82Æ\82Ü\82Á\82½\89¹\90º\83f\81[\83^\82Ì\83X\83g\83\8a\81[\83\80\82ð\90\90¬\82µ\82½\82¢.
54 <li>
55 \83f\83B\83X\83N\82©\82ç\82Å\82«\82é\82¾\82¯\91¬\82­\89¹\90º\83f\81[\83^\82ð\83v\83\8b\82µ, 
56 \90³\82µ\82­\95Ï\8a·\82Å\82«\82é\82æ\82¤\82É\83p\83b\83f\83B\83\93\83O\82µ\82Ä, 
57 \92Ê\89ß\82·\82é\83f\81[\83^\82Ì\8fÚ\8d×\82ð\8bC\82É\82¹\82¸\82É\8c\8b\89Ê\82ð\8f\91\82«\8d\9e\82Ý\82½\82¢.
58 <li>
59 \82 \82é\93Á\92è\82Ì1\82Â\82Ì\8c`\8e®\82Ì\82Ý\88µ\82¤\83~\83L\83T\81[\82ð\8f\91\82«\82½\82¢.
60 \82»\82µ\82Ä\93ü\97Í\82Æ\82Í\88Ù\82È\82é\97l\81X\82È\8c`\8e®\82Å\8fo\97Í\82µ\82½\82¢.
61 <li>
62 \83v\83\8d\83O\83\89\83\80\82Å\89¹\90º\82ð\90\90¬\82µ\82Ä\82¢\82é.
63 \8dÄ\90\82ª\8fI\82í\82è\82»\82¤\82È\82Æ\82«, \82³\82ç\82É\92Ç\89Á\82µ\82È\82ª\82ç\90\90¬\82µ\82½\82¢.
64 <li>
65 \89¹\90º\82Ì\88Ù\82È\82é\8c`\8e®\82Ö\82Ì\95Ï\8a·\82É\82Í\8b»\96¡\82ª\82È\82¢\82ª, \82»\82ê\82ð\8eg\82¤\8f\80\94õ\82ª\90®\82¤\82Ü\82Å\83L\83\85\81[\82Ì\82æ\82¤\82È\83f\81[\83^\8d\\91¢\82Å\8cø\97¦\82æ\82­\95Û\91\82µ\82½\82¢.
66 </ul>
67 </p>
68 <p>
69 <a href="SDL_AudioStream.html">SDL_AudioStream</a>\82Ì\8eg\82¢\95û\82Í\82Æ\82Ä\82à\92P\8f\83\82¾.
70 \82Ü\82¸, \82»\82ê\82ð\90\90¬\82·\82é.
71 \97á\82¦\82Î, Sint16, \83\82\83m\83\89\83\8b, 22050Hz\82Ì\83f\81[\83^\82Æ\82µ\82Ä\90\90¬\82µ, Float32, \83X\83e\83\8c\83I, 48000Hz\82Æ\82µ\82Ä\8fÁ\94ï\82µ\82½\82¢\82Æ\82·\82é\82Æ
72 <code>
73 <pre>
74 // Sint16/mono/22050Hz\82Ì\83f\81[\83^\82ð\93ü\82ê\82é\82Æ, Float32/stereo/48000Hz\82Ì\83f\81[\83^\82Æ\82È\82Á\82Ä\96ß\82Á\82Ä\82­\82é
75 SDL_AudioStream *stream = SDL_NewAudioStream(AUDIO_S16, 1, 22050, AUDIO_F32, 2, 48000);
76 if (stream == NULL) {
77     printf("\82¤\82¨\82Á, \83X\83g\83\8a\81[\83\80\82Ì\90\90¬\82É\8e¸\94s\82µ\82½: %s\n", SDL_GetError());
78 } else {
79     // \83X\83g\83\8a\81[\83\80\82ð\8eg\82¤\8f\80\94õ\82ª\82Å\82«\82½!
80 }
81 </pre>
82 </code>
83 </p>
84 <p>
85 \8cã\82Í\83X\83g\83\8a\81[\83\80\83f\81[\83^\82ð\97^\82¦\82é\82¾\82¯\82¾!
86 <code>
87 <pre>
88 Sint16 samples[1024];
89 int num_samples = read_more_samples_from_disk(samples); // \89½\82Å\82à\82æ\82¢
90 // \97^\82¦\82é\83f\81[\83^\82Ì(\83T\83\93\83v\83\8b\90\94\82Å\82Í\82È\82­)\83o\83C\83g\90\94\82ð\8ew\92è\82·\82é!
91 int rc = SDL_AudioStreamPut(stream, samples, num_samples * sizeof (Sint16));
92 if (rc == -1) {
93     printf("\82¤\82¨\82Á, \83X\83g\83\8a\81[\83\80\82Ö\82Ì\83T\83\93\83v\83\8a\83\93\83O\83f\81[\83^\82Ì\8f\91\82«\8d\9e\82Ý\82É\8e¸\94s\82µ\82½: %s\n", SDL_GetError());
94     return;
95 }
96
97 // \82¨\82¨\82Á\82Æ, \8dÅ\8cã\82É1\83T\83\93\83v\83\8b\92Ç\89Á\82·\82é\82Ì\82ð\96Y\82ê\82Ä\82¢\82½...!
98 //   \82 \82È\82½\82Í\88ê\93x\82É\82¢\82­\82ç\82Å\82à\8f\91\82«\8d\9e\82Þ\82±\82Æ\82ª\82Å\82«\82é.
99 //   SDL\82Í\95K\97v\82È\82ç\82Î\83T\83C\83Y\82ð\91\9d\82â\82µ\82È\82ª\82ç\93K\90Ø\82É\83o\83b\83t\83@\82·\82é.
100 Sint16 onesample = 22;
101 SDL_AudioStreamPut(stream, &onesample, sizeof (Sint16));
102 </pre>
103 </code>
104 </p>
105 <p>
106 \83X\83g\83\8a\81[\83\80\82É\83f\81[\83^\82ð\92Ç\89Á\82·\82é\82Æ, SDL\82Í\82»\82ê\82à\95Ï\8a·\82µ\8dÄ\83T\83\93\83v\83\8a\83\93\83O\82·\82é.
107 \82 \82È\82½\82Í\82Ç\82ê\82¾\82¯\82Ì\83f\81[\83^\82ª\95Ï\8a·\82³\82ê\8eg\82¦\82é\82æ\82¤\82É\82È\82Á\82½\82©\90q\82Ë\82é\82±\82Æ\82ª\82Å\82«\82é:
108 <code>
109 <pre>
110 int avail = SDL_AudioStreamAvailable(stream);  // \82±\82ê\82Í\83T\83\93\83v\83\8b\90\94\82Å\82Í\82È\82­\83o\83C\83g\90\94\82Å\82 \82é!
111 if (avail &lt; 100) {
112     printf("\82 \82Æ%d\83o\83C\83g\82Ì\83f\81[\83^\82ð\91Ò\82Á\82Ä\82¢\82é!\n", 100 - avail);
113 }
114 </pre>
115 </code>
116 </p>
117 <p>
118 \82»\82µ\82Ä\8f\\95ª\82È\83f\81[\83^\82ª\93¾\82ç\82ê\82½\82ç, \83f\81[\83^\82ð\97v\8b\81\82µ\82½\8c`\8e®\82Å\93Ç\82Ý\8fo\82·\82±\82Æ\82ª\82Å\82«\82é:
119 <code>
120 <pre>
121 float converted[100];
122 // \82±\82ê\82Í\83T\83\93\83v\83\8b\90\94\82Å\82Í\82È\82­\83o\83C\83g\90\94\82Å\82 \82é!
123 int gotten = SDL_AudioStreamGet(stream, converted, sizeof (converted));
124 if (gotten == -1) {
125     printf("\82¤\82¨\82Á, \95Ï\8a·\82³\82ê\82½\83f\81[\83^\82Ì\93Ç\82Ý\8d\9e\82Ý\82É\8e¸\94s\82µ\82½: %s\n", SDL_GetError());
126 }
127 write_more_samples_to_disk(converted, gotten); /* \89½\82Å\82à\82æ\82¢ */
128 </pre>
129 </code>
130 </p>
131 <p>
132 \82à\82¿\82ë\82ñ\93Ç\82Ý\8fo\82µ\82Í\88ê\93x\82Å\82È\82­\82Ä\82à\82æ\82¢.
133 \93ü\8fo\97Í\82Ì\97¼\83X\83g\83\8a\81[\83\80\82Í\83o\83b\83t\83@\82³\82ê\82Ä\82¨\82è, \8f­\82È\82¢\97Ê\82ð\93Ç\82Ý\8fo\82·\82±\82Æ\82ª\82Å\82«\82é:
134 <code>
135 <pre>
136 int gotten;
137 do {
138     float converted[100];
139     // \82±\82ê\82Í\83T\83\93\83v\83\8b\90\94\82Å\82Í\82È\82­\83o\83C\83g\90\94\82Å\82 \82é!
140     gotten = SDL_AudioStreamGet(stream, converted, sizeof (converted));
141     if (gotten == -1) {
142         printf("\82¤\82¨\82Á, \95Ï\8a·\82³\82ê\82½\83f\81[\83^\82Ì\93Ç\82Ý\8d\9e\82Ý\82É\8e¸\94s\82µ\82½: %s\n", SDL_GetError());
143     } else {
144         // gotten\82Ì\92l\82ÍSDL_AudioStreamGet\82Ö\82Ì\97v\8b\81\82æ\82è\8f­\82È\82¢\82©\82à\82µ\82ê\82È\82¢!
145         write_more_samples_to_disk(converted, gotten); /* \89½\82Å\82à\82æ\82¢ */
146     }
147 } while (gotten > 0);
148 </pre>
149 </code>
150 </p>
151 <p>
152 \8cø\97¦\89»\82Ì\83q\83\93\83g: \83o\83b\83t\83@\82Ì\8am\95Û, \95Ï\8a·, \8dÄ\83T\83\93\83v\83\8a\83\93\83O\82Í\83X\83g\83\8a\81[\83\80\82Ö\82Ì\8f\91\82«\8d\9e\82Ý\8e\9e\82É\94­\90\82·\82é.
153 \83X\83g\83\8a\81[\83\80\82©\82ç\82Ì\93Ç\82Ý\8d\9e\82Ý\8e\9e\82É\82Í, \8f­\82µ\82Ì\8aÇ\97\9d\8fã\82Ì\91\80\8dì\82Æ\90\94\89ñ\82Ìmemcpy()\82Ì\8cÄ\82Ñ\8fo\82µ\82Ì\82Ý\82ð\8ds\82Á\82Ä\82¢\82é.
154 \82»\82Ì\82±\82Æ\82ð\8dl\97\82·\82é\82±\82Æ.
155 </p>
156 <p>
157 \82±\82Ì\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\97\8e\82Æ\82µ\8c\8a\97\\91z\82µ\82½\92l\82æ\82è\8f­\82È\82¢(0\83o\83C\83g\82à\82 \82è\82¤\82é!)\89Â\94\\90«\82É\92\8d\88Ó\82·\82é\82±\82Æ.
158 \8dÄ\83T\83\93\83v\83\8a\83\93\83O\82Ì\82Æ\82«, SDL\82Í\83`\83\83\83\93\83N\82É\91\97\82ç\82ê\82½\83f\81[\83^\82Í\83X\83\80\81[\83Y\82É\8dÄ\83T\83\93\83v\83\8a\83\93\83O\82·\82é\82½\82ß\82É\83o\83b\83t\83@\82É\83p\83b\83f\83B\83\93\83O\82ð\8am\95Û\82µ\82Ä\82¢\82é.
159 \96¢\97\88\82ð\97\\91ª\82µ\82æ\82¤\82Æ\82·\82é\82Ì\82Å\82Í\82È\82­, \83X\83\80\81[\83Y\82È\89¹\90º\82ð\88Û\8e\9d\82·\82é\82½\82ß\82É\8dÅ\8f\89\82É\83X\83g\83\8a\81[\83\80\82É\91\97\82ç\82ê\82½\8f¬\82³\82È\83f\81[\83^\82ð\95Û\8e\9d\82µ, \82»\82Ì\8cã\82É\82³\82ç\82É\83f\81[\83^\82ª\97\88\82Ä\82©\82ç\95Û\8e\9d\82µ\82½\8f¬\82³\82È\83f\81[\83^\82ð\83X\83g\83\8a\81[\83\80\82É\96ß\82µ\82Ä\82©\82ç\95Ï\8a·\82ð\8en\82ß\82Ä\82¢\82é.
160 </p>
161 <p>
162 \82±\82Ì\82±\82Æ\82É\91Î\89\9e\82·\82é2\82Â\82Ì\95û\96@:
163 \83X\83g\83\8a\81[\83\80\82ð\82¸\82Á\82Æ\8eg\82¤\82È\82ç\82Î, \93Á\95Ê\82È\82±\82Æ\82Í\89½\82à\82µ\82È\82¢\82Ù\82¤\82ª\82æ\82¢.
164 \83f\81[\83^\82ª\94­\90\82·\82é\82½\82Ñ\82É\8f\91\82«\8d\9e\82Ý\91±\82¯, \97\98\97p\89Â\94\\82É\82È\82ê\82Î\93Ç\82Ý\8d\9e\82Þ. \82±\82ê\82Å\82¤\82Ü\82­\8ds\82­\82Í\82¸\82¾.
165 </p>
166 <p>
167 \83X\83g\83\8a\81[\83\80\82Ö\82Ì\83f\81[\83^\82Ì\91\97\90M\82ð\8fI\82¦\82é\82Æ\82«\82Í, \92P\82É\82»\82ê\82ðSDL\82É\93`\82¦\82ê\82Î, \93à\95\94\82Ì\83o\83b\83t\83@\82É\95Û\91\82³\82ê\82½\91S\83f\81[\83^\82ð\95Ï\8a·\82µ<a href="SDL_AudioStreamGet.html">SDL_AudioStreamGet()</a>\82Å\93Ç\82Ý\8d\9e\82ß\82é\82æ\82¤\82É\82Å\82«\82é.
168 <code>
169 <pre>
170     SDL_AudioStreamFlush(stream);
171 </pre>
172 </code>
173 </p>
174 <p>
175 \8e\9f\82Ì\82±\82Æ\82É\92\8d\88Ó\82·\82é\82±\82Æ.
176 \83X\83g\83\8a\81[\83\80\82ð\91|\82«\82¾\82µ\82½\8cã\82É\83f\81[\83^\82ð\8f\91\82«\8d\9e\82Þ\82±\82Æ\82à\82Å\82«\82é.
177 \82µ\82©\82µ, \82¨\82»\82ç\82­\96\96\94ö\82Ì\83p\83b\83f\83B\83\93\83O\82³\82ê\82½\95\94\95ª\82ª\96³\89¹\82É\82È\82è\89¹\90º\82Ì\8fo\97Í\82ª\93r\90Ø\82ê\82é\82¾\82ë\82¤.
178 \96{\93\96\82É\91|\82«\82¾\82µ\82½\82¢\82Ì\82Í, \83X\83g\83\8a\81[\83\80\82ð\8fI\82¦\82Ä\8dÅ\8cã\82Ì\90\94\83T\83\93\83v\83\8b\82ð\8eæ\82è\8fo\82·\8fê\8d\87\82Ì\82Ý\82Ì\82Í\82¸\82¾.
179 </p>
180 <p>
181 \82à\82µ, \82Ç\82ñ\82È\97\9d\97R\82Å\82 \82ê, \83X\83g\83\8a\81[\83\80\82Ì\83f\81[\83^\82ð\93Ç\82Ý\8d\9e\82Ü\82¸\82É\94j\8aü\82µ\82½\82¢\8fê\8d\87\82Í\8e\9f\82Ì\82æ\82¤\82É\82·\82é:
182 <code>
183 <pre>
184     SDL_AudioStreamClear(stream);
185 </pre>
186 </code>
187 </p>
188 <p>
189 \82±\82ê\82Í\83X\83g\83\8a\81[\83\80\82É\8f\91\82«\8d\9e\82Ü\82ê\82½\83f\81[\83^\82ð\93Ç\82Ý\8d\9e\82Ü\82¸\82É\94j\8aü\82µ\82Ä\93à\95\94\82Ì\8fó\91Ô\82ð\83\8a\83Z\83b\83g\82·\82é.
190 (\82æ\82Á\82Ä, \8dÄ\83T\83\93\83v\83\8a\83\93\83O\82Í\82 \82È\82½\82ª\88È\91O\82É\83X\83g\83\8a\81[\83\80\82É\8f\91\82«\8d\9e\82ñ\82¾\83f\81[\83^\82Å\82Í\82È\82­, \90V\82µ\82¢\83f\81[\83^\82É\91Î\82µ\82Ä\8ds\82í\82ê\82é.)
191 \82±\82ê\82Í\95Ê\82Ì\83f\81[\83^\8c³\82É\91Î\82µ\82Ä\83X\83g\83\8a\81[\83\80\82ð\8dÄ\97\98\97p\82·\82é\8fê\8d\87\82â, \8c»\8dÝ\82Ì\83f\81[\83^\8c³\82ð\8eg\82í\82È\82¢\82Æ\8c\88\82ß\82½\82Æ\82«(\97á\82¦\82ÎVoIP\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82Å\8dU\8c\82\93I\82È\83\86\81[\83U\82ð\83~\83\85\81[\83g\82·\82é\8fê\8d\87)\82É\95Ö\97\98\82Å\82 \82é.
192 </p>
193 <p>
194 \83X\83g\83\8a\81[\83\80\82ð\8eg\82¢\8fI\82¦\82½\82È\82ç\82Î, \82»\82ê\82ð\94j\8aü\82Å\82«\82é:
195 <code>
196 <pre>
197      SDL_FreeAudioStream(stream);
198 </pre>
199 </code>
200 </p>
201 <p>
202 \82±\82ê\82Í\93à\95\94\8fó\91Ô\82Æ\83o\83b\83t\83@\82ð\89ð\95ú\82·\82é.
203 \89ð\95ú\82·\82é\91O\82É\83o\83b\83t\83@\82Ì\93à\97e\82ð\8bz\82¢\8fo\82·\95K\97v\82Í\82È\82¢.
204 \8cÄ\82Ñ\8fo\82µ\82Ì\8cã, <a href="SDL_AudioStream.html">SDL_AudioStream</a>\83|\83C\83\93\83^\82Í\8eg\97p\82Å\82«\82È\82­\82È\82é.
205 </p>
206 <p>
207 \88È\8fã\82¾!
208 </p>
209 <h2>SDL Wiki\82Ö\82Ì\83\8a\83\93\83N</h2>
210 <a href="https://wiki.libsdl.org/Tutorials/AudioStream">Using SDL_AudioStream - SDL Wiki</a><br>
211 <hr>
212 </body>
213 </html>