OSDN Git Service

SDL_atomic_t サンプルコードを修正 https://wiki.libsdl.org/SDL_atomic_t?action=diff&rev1=3&rev2=4
[sdl2referencejp/sdl2referencejp.git] / SDL_OpenAudioDevice.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">\r
2 <html lang="ja-JP">\r
3 <head>\r
4 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">\r
5 <meta http-equiv="Content-Style-Type" content="text/css">\r
6 <meta name="keywords" content="Simple Directmedia Layer SDL2.0">\r
7 <link rel="top" href="index.html" title="\83z\81[\83\80">\r
8 <link rel="parent" href="CategoryAudio.html" title="1\82Â\8fã">\r
9 <title>SDL_OpenAudioDevice</title>\r
10 </head>\r
11 <body>\r
12 <a href="index.html">\96Ú\8e\9f</a> - <a href="ApiByCategory.html">API(\8b@\94\\95Ê)</a> - <a href="CategoryAudio.html">\8dÄ\90\82Æ\98^\89¹</a> - SDL_OpenAudioDevice\r
13 <hr>\r
14 <h1>SDL_OpenAudioDevice</h1>\r
15 \8ew\92è\82Ì\83I\81[\83f\83B\83I\83f\83o\83C\83X\82ð\8aJ\82­\r
16 <h2>\8d\\95¶</h2>\r
17 <code>SDL_AudioDeviceID SDL_OpenAudioDevice(const char* device, int iscapture, const SDL_AudioSpec* desired, SDL_AudioSpec* obtained, int allowed_changes)</code>\r
18 <h2>\88ø\90\94</h2>\r
19 <table border="1" summary="SDL_OpenAudio">\r
20 <tr><td>device</td><td><a href="SDL_GetAudioDeviceName.html">SDL_GetAudioDeviceName()</a>\82Å\93¾\82½UTF-8\95\8e\9a\97ñ (\8fÚ\8d×\82ð\8eQ\8fÆ\82·\82é\82±\82Æ)</td></tr>\r
21 <tr><td>iscapture</td><td>0\82Å\82È\82¢\82Æ\82«\83f\83o\83C\83X\82ð(\8dÄ\90\82Å\82Í\82È\82­)\98^\89¹\82Æ\82µ\82Ä\8aJ\82­</td></tr>\r
22 <tr><td>desired</td><td>\97v\8b\81\82·\82é\8fo\97Í\8c`\8e®\82Ì<a href="SDL_AudioSpec.html">SDL_AudioSpec</a>.\8fÚ\8d×\82Í<a href="SDL_OpenAudio.html">SDL_OpenAudio()</a>\82ð\8eQ\8fÆ\82·\82é\82±\82Æ</td></tr>\r
23 <tr><td>obtained</td><td>\8eÀ\8dÛ\82Ì\83p\83\89\83\81\81[\83^\82ª\91ã\93ü\82³\82ê\82½<a href="SDL_AudioSpec.html">SDL_AudioSpec</a>.\8fÚ\8d×\82Í<a href="SDL_OpenAudio.html">SDL_OpenAudio()</a>\82ð\8eQ\8fÆ\82·\82é\82±\82Æ</td><tr>\r
24 <tr><td>allowed_changes</td><td>0\82Ü\82½\82Í1\82Â\88È\8fã\82Ì\83t\83\89\83O\82Ì\98_\97\9d\98a (\8fÚ\8d×\82ð\8eQ\8fÆ\82·\82é\82±\82Æ)</td></tr>\r
25 </table>\r
26 <h2>\96ß\82è\92l</h2>\r
27 <p>\r
28 \90¬\8c÷\82Ì\82Æ\82«0\82æ\82è\91å\82«\82È\83f\83o\83C\83XID\82ð\96ß\82·.\r
29 \8e¸\94s\82Ì\82Æ\82«0\82ð\96ß\82·.\r
30 <a href="SDL_GetError.html">SDL_GetError()</a>\82ð\8cÄ\82ñ\82Å\8fÚ\8d×\82ð\92m\82é\82±\82Æ\82ª\82Å\82«\82é.\r
31 </p>\r
32 <p>\r
33 SDL1.2\82Æ\82Ì\8cÝ\8a·\90«\82Ì\82½\82ß, \82±\82Ì\8aÖ\90\94\82ª1\82ð\96ß\82·\82±\82Æ\82Í\82È\82¢.\r
34 \82»\82ÌID\82Í\8cÃ\82¢<a href="SDL_OpenAudio.html">SDL_OpenAudio()</a>\82Ì\82½\82ß\82É\97\\96ñ\82³\82ê\82Ä\82¢\82é.\r
35 </p>\r
36 <h2>\83T\83\93\83v\83\8b\83R\81[\83h</h2>\r
37 <p>\r
38 <code>\r
39 <pre>\r
40 SDL_AudioSpec want, have;\r
41 SDL_AudioDeviceID dev;\r
42 \r
43 SDL_memset(&want, 0, sizeof(want)); /* \82Ü\82½\82Í SDL_zero(want); */\r
44 want.freq = 48000;\r
45 want.format = AUDIO_F32;\r
46 want.channels = 2;\r
47 want.samples = 4096;\r
48 want.callback = MyAudioCallback;  /* \82±\82Ì\8aÖ\90\94\82Í\82Ç\82±\82©\95Ê\82Ì\8fê\8f\8a\82É\8f\91\82­. \8fÚ\8d×\82ÍSDL_AudioSpec\82ð\8eQ\8fÆ\82·\82é\82±\82Æ */\r
49 \r
50 dev = SDL_OpenAudioDevice(NULL, 0, &amp;want, &amp;have, SDL_AUDIO_ALLOW_FORMAT_CHANGE);\r
51 if (dev == 0) {\r
52     SDL_Log("\83I\81[\83f\83B\83I\82ð\8aJ\82¯\82È\82©\82Á\82½: %s", SDL_GetError());\r
53 } else {\r
54     if (have.format != want.format) { /* \97v\8b\81\82Æ\95Ï\82í\82Á\82½\82©? */\r
55         SDL_Log("32bit\95\82\93®\8f¬\90\94\93_\82Ì\83I\81[\83f\83B\83I\8c`\8e®\82É\91Î\89\9e\82µ\82Ä\82¢\82È\82¢");\r
56     }\r
57     SDL_PauseAudioDevice(dev, 0); /* \8dÄ\90\82ð\8aJ\8en\82·\82é */\r
58     SDL_Delay(5000); /* \83R\81[\83\8b\83o\83b\83N\82Å\89¹\90º\82ð5\95b\8aÔ\8dÄ\90\82·\82é */\r
59     SDL_CloseAudioDevice(dev);\r
60 }\r
61 </pre>\r
62 </code>\r
63 </p>\r
64 <h2>\8fÚ\8d×</h2>\r
65 <p>\r
66 <a href="SDL_OpenAudio.html">SDL_OpenAudio()</a>\82Í\82±\82Ì\8aÖ\90\94\82Æ\82Í\88á\82¢, \8fí\82É\83f\83o\83C\83XID 1\82Æ\82µ\82Ä\90U\95\91\82¤.\r
67 \82³\82ç\82É\82±\82Ì\8aÖ\90\94\82Í1\82ð\96ß\82³\82È\82¢\82½\82ß, \8cÃ\82¢\8aÖ\90\94\82Æ\8fÕ\93Ë\82·\82é\82±\82Æ\82Í\82È\82¢.\r
68 </p>\r
69 <p>\r
70 SDL 2.0.5\88È\91O\82ÌSDL 2.0\82Í\98^\89¹\82É\91Î\89\9e\82µ\82Ä\82¢\82È\82¢.\r
71 \82æ\82Á\82Ä, iscapture\82ª0\88È\8aO\82Ì\82Æ\82«, \82±\82Ì\8aÖ\90\94\82Í\8e¸\94s\82·\82é.\r
72 SDL 2.0.5\82©\82ç\82Í\98^\89¹\82ª\8eÀ\91\95\82³\82ê, \82±\82Ì\92l\82ð0\88È\8aO\82É\82Å\82«\82é.\r
73 </p>\r
74 <p>\r
75 device\82ðNULL\82É\82·\82é\82Æ, \8dÅ\82à\93K\82µ\82½\83f\83t\83H\83\8b\83g\82ð\97v\8b\81\82µ\82½\82±\82Æ\82É\82È\82é. (\82»\82µ\82Ä\82»\82ê\82Í<a href="SDL_OpenAudio.html">SDL_OpenAudio()</a>\82Ì\91I\91ð\82·\82é\83f\83o\83C\83X\82Æ\93¯\82\82Å\82 \82é.)\r
76 device\82Í<a href="SDL_GetAudioDeviceName.html">SDL_GetAudioDeviceName()</a>\82Å\93¾\82½UTF-8\95\8e\9a\97ñ\82Å\82 \82é.\r
77 \82µ\82©\82µ\88ê\95\94\82Ì\83h\83\89\83C\83o\82Í, \83z\83X\83g\96¼/IP\83A\83h\83\8c\83X, \82Ü\82½\82Í\83f\83B\83X\83N\83I\81[\83f\83B\83I\83h\83\89\83C\83o\82Ì\83t\83@\83C\83\8b\96¼\82Ì\82æ\82¤\82È, \92è\82Ü\82ç\82È\82¢\83h\83\89\83C\83o\8cÅ\97L\82Ì\95\8e\9a\97ñ\82ð\97v\8b\81\82·\82é.\r
78 </p>\r
79 <p>\r
80 allowed_changes\82Í\8e\9f\82Ì\83t\83\89\83O\82Ì\98_\97\9d\98a\82Å\82 \82é.\r
81 <table border="1" summary="allowed_changes">\r
82 <tr><td>SDL_AUDIO_ALLOW_FREQUENCY_CHANGE</td><td>\8eü\94g\90\94\82ð\95Ï\82¦\82é\82±\82Æ\82ð\94F\82ß\82é</td></tr>\r
83 <tr><td>SDL_AUDIO_ALLOW_FORMAT_CHANGE</td><td>\8c`\8e®\82ð\95Ï\82¦\82é\82±\82Æ\82ð\94F\82ß\82é</td></tr>\r
84 <tr><td>SDL_AUDIO_ALLOW_CHANNELS_CHANGE</td><td>\83`\83\83\83l\83\8b\90\94\82ð\95Ï\82¦\82é\82±\82Æ\82ð\94F\82ß\82é</td></tr>\r
85 <tr><td>SDL_AUDIO_ALLOW_ANY_CHANGE</td><td>\91S\82Ä\82ð\95Ï\82¦\82é\82±\82Æ\82ð\94F\82ß\82é</td></tr>\r
86 </table>\r
87 \82±\82ê\82ç\82Ì\83t\83\89\83O\82Í, SDL\82ª\8b@\94\\82ð\92ñ\8b\9f\82Å\82«\82È\82¢\82Æ\82«, \82Ç\82Ì\82æ\82¤\82É\90U\95\91\82¤\82©\82ð\8c\88\82ß\82é.\r
88 \83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ª\97v\8b\81\82µ\82½\8b@\94\\82ð\83n\81[\83h\83E\83F\83A\82ª\92ñ\8b\9f\82Å\82«\82È\82¢\82Æ\82«, SDL\82Í\8fí\82É\8dÅ\82à\8bß\82¢\8b@\94\\82ð\8al\93¾\82µ\82æ\82¤\82Æ\82·\82é.\r
89 </p>\r
90 <p>\r
91 \97á\82¦\82Î, 32bit\95\82\93®\8f¬\90\94\93_\82Ì\89¹\90º\8c`\8e®\82ð\97v\8b\81\82µ\82½\82ª, \83T\83E\83\93\83h\83J\81[\83h\82ª16bit\90®\90\94\82µ\82©\91Î\89\9e\82µ\82Ä\82¢\82È\82¢\8fê\8d\87, SDL\82Í\83n\81[\83h\83E\83F\83A\82ð16bit\90®\90\94\82Å\90Ý\92è\82·\82é.\r
92 \82à\82µ, SDL_AUDIO_ALLOW_FORMAT_CHANGE\82ð\90Ý\92è\82µ\82Ä\82¢\82ê\82Î, SDL\82Íobtained\82Ìformat\83t\83B\81[\83\8b\83h\82ð\95Ï\8dX\82·\82é.\r
93 \82à\82µ\90Ý\92è\82µ\82Ä\82¢\82È\82¯\82ê\82Î, \83R\81[\83\8b\83o\83b\83N\8aÖ\90\94\82Å\90Ý\92è\82µ\82½32bit\95\82\93®\8f¬\90\94\93_\8c`\8e®\82Ì\83f\81[\83^\82ð, SDL\82Í\83n\81[\83h\83E\83F\83A\82É\91\97\82é\91O\82É16bit\90®\90\94\8c`\8e®\82Ì\83f\81[\83^\82É\95Ï\8a·\82·\82é. \82»\82µ\82Ä, obtained\82Ìformat\83t\83B\81[\83\8b\83h\82Í\97v\8b\81\82Æ\93¯\82\82Å\82 \82é.\r
94 </p>\r
95 <p>\r
96 \83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ª1\82Â\82Ì\93Á\92è\82Ì\8c`\8e®\82µ\82©\88µ\82í\82È\82¢\82Ì\82Å\82 \82ê\82Î, allowed_changes\82ð0\82Æ\82µ\82Ä, SDL\82É\91¼\82Ì\8c`\8e®\82É\95Ï\8a·\82³\82¹\82é\82±\82Æ\82ª\82Å\82«\82é.\r
97 </p>\r
98 <p>\r
99 \8aJ\82¢\82½\83I\81[\83f\83B\83I\83f\83o\83C\83X\82Í\88ê\8e\9e\92â\8e~\82Ì\8fó\91Ô\82©\82ç\8en\82Ü\82é. \83R\81[\83\8b\83o\83b\83N\8aÖ\90\94\82ð\8cÄ\82Ô\8f\80\94õ\82ª\82Å\82«\82Ä\82¢\82ê\82Î, <a href="SDL_PauseAudioDevice.html"><code>SDL_PauseAudioDevice(devid, 0);</code></a>\82ð\8cÄ\82ñ\82Å\8dÄ\90\82ð\8en\82ß\82é\95K\97v\82ª\82 \82é.\r
100 \83I\81[\83f\83B\83I\83f\83o\83C\83X\82Í\97v\8b\81\82³\82ê\82½\89¹\90º\83o\83b\83t\83@\82Ì\92·\82³\82ð\95Ï\8dX\82·\82é\82±\82Æ\82ª\82 \82é.\r
101 \83I\81[\83f\83B\83I\83f\83o\83C\83X\82ð\8aJ\82¢\82½\8cã\82É\83\8d\81[\83J\83\8b\82Ì\83~\83L\83V\83\93\83O\83o\83b\83t\83@\82ð\8am\95Û\82·\82é\95K\97v\82ª\82 \82é.\r
102 </p>\r
103 <p>\r
104 \91½\82­\82Ì\8fê\8d\87\83R\81[\83\8b\83o\83b\83N\8aÖ\90\94\82Í\95Ê\82Ì\83X\83\8c\83b\83h\82Å\8eÀ\8ds\82³\82ê\82é.\r
105 <a href="SDL_LockAudioDevice.html">SDL_LockAudioDevice()</a>\82Å\8a®\91S\82É\8dÄ\90\82ð\8e~\82ß\82È\82­\82Ä\82à, \83R\81[\83\8b\83o\83b\83N\8aÖ\90\94\82Æ\91¼\82Ì\83X\83\8c\83b\83h\82Ì\8b£\8d\87\8fó\91Ô\82ð\94ð\82¯\82é\82±\82Æ\82ª\82Å\82«\82é.\r
106 \8fÚ\8d×\82Í<a href="SDL_AudioSpec.html">SDL_AudioSpec</a>\82ð\8eQ\8fÆ\82·\82é\82±\82Æ.\r
107 </p>\r
108 <h2>\83o\81[\83W\83\87\83\93</h2>\r
109 <p>\r
110 SDL 2.0.0\88È\8d~\r
111 </p>\r
112 <h2>\8aÖ\98A\8d\80\96Ú(\8aÖ\90\94)</h2>\r
113 <a href="SDL_CloseAudioDevice.html">SDL_CloseAudioDevice</a><br>\r
114 <a href="SDL_GetAudioDeviceName.html">SDL_GetAudioDeviceName</a><br>\r
115 <a href="SDL_LockAudioDevice.html">SDL_LockAudioDevice</a><br>\r
116 <a href="SDL_OpenAudio.html">SDL_OpenAudio</a><br>\r
117 <a href="SDL_PauseAudioDevice.html">SDL_PauseAudioDevice</a><br>\r
118 <a href="SDL_UnlockAudioDevice.html">SDL_UnlockAudioDevice</a><br>\r
119 <h2>SDL Wiki\82Ö\82Ì\83\8a\83\93\83N</h2>\r
120 <a href="https://wiki.libsdl.org/SDL_OpenAudioDevice">SDL_OpenAudioDevice - SDL Wiki</a>\r
121 <hr>\r
122 </body>\r
123 </html>\r