OSDN Git Service

SDL_atomic_t サンプルコードを修正 https://wiki.libsdl.org/SDL_atomic_t?action=diff&rev1=3&rev2=4
[sdl2referencejp/sdl2referencejp.git] / Mix_HookMusic.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="SDL_mixer">\r
7 <link rel="top" href="index.html" title="\83z\81[\83\80">\r
8 <link rel="parent" href="SDL_mixer-functions-music.html" title="1\82Â\8fã">\r
9 <title>Mix_HookMusic</title>\r
10 </head>\r
11 <body>\r
12 <a href="index.html#SDL_mixer">\96Ú\8e\9f</a> - <a href="SDL_mixer-functions.html">4.\8aÖ\90\94</a> - <a href="SDL_mixer-functions-music.html">4.5\89¹\8ay</a> - Mix_HookMusic\r
13 <hr>\r
14 <h1>Mix_HookMusic</h1>\r
15 <p>\r
16 <code>void Mix_HookMusic(void (*mix_func)(void *udata, Uint8 *stream, int len), void *arg)</code>\r
17 </p>\r
18 <p>\r
19 <dl>\r
20 <dt>mix_func</dt><dd>\89¹\8ay\83v\83\8c\83C\83\84\81[\83~\83L\83T\81[\8aÖ\90\94\82Ö\82Ì\83|\83C\83\93\83^. NULL\82Ì\82Æ\82«\89¹\8ay\83v\83\8c\83C\83\84\81[\82ð\8eg\82í\82¸, \92Ê\8fí\82Ì\93à\95\94\82Ì\89¹\8ay\83v\83\8c\83C\83\84\81[\82Å\8eg\97p\82·\82é\83~\83L\83T\81[\82É\96ß\82·</dd>\r
21 <dt>arg</dt><dd>\r
22 mix_func\82Ìudata\82É\93n\82·\88ø\90\94\r
23 </dd>\r
24 </dl>\r
25 </p>\r
26 <p>\r
27 \83\86\81[\83U\82Ì\89¹\8ay\83v\83\8c\83C\83\84\81[\82ð\90Ý\92è\82·\82é.\r
28 \82±\82Ì\8aÖ\90\94\82Ìarg\82Ímix_func\82ª\8cÄ\82Î\82ê\82½\82Æ\82«\88ø\90\94udata\82É\93n\82³\82ê\82é.\r
29 \88ø\90\94stream\82Ílen\83o\83C\83g\82Ì\89¹\8ay\83f\81[\83^\82ª\8ai\94[\82³\82ê\82½\83I\81[\83f\83B\83I\83X\83g\83\8a\81[\83\80\83o\83b\83t\83@\82Å\82 \82é.\r
30 \82±\82Ì\89¹\8ay\83v\83\8c\83C\83\84\81[\82Í\95K\97v\82È\82Æ\82«\82É\8e©\93®\93I\82É\8cÄ\82Î\82ê\82é.\r
31 \82±\82Ì\8aÖ\90\94\82ª\8cÄ\82Î\82ê\82é\82Æ\89¹\8ay\82Ì\8dÄ\90\82ª\82·\82®\82É\8en\82Ü\82é.\r
32 \91S\82Ä\82Ì\89¹\8ay\82Ì\8dÄ\90\82Æ\92â\8e~\82Ì\8aÖ\90\94\82Í, \82±\82Ì\8cã\82É\82Í\96³\8cø\82É\82È\82é.\r
33 \88ê\8e\9e\92â\8e~\82Æ\88ê\8e\9e\92â\8e~\82Ì\89ð\8f\9c\82Í\97L\8cø\82Å\82 \82é.\r
34 \83\86\81[\83U\82Ì\89¹\8ay\83v\83\8c\83C\83\84\81[\82Æ\93à\95\94\82Ì\89¹\8ay\83v\83\8c\83C\83\84\81[\82Í\93¯\8e\9e\82É\8eg\82í\82ê\82È\82¢. \83\86\81[\83U\82Ì\89¹\8ay\83v\83\8c\83C\83\84\81[\82ª\97D\90æ\82³\82ê\82é.\r
35 \83\86\81[\83U\82Ì\89¹\8ay\83v\83\8c\83C\83\84\81[\82ÍMix_HookMusic(NULL, NULL)\82Å\8eg\82í\82ê\82È\82­\82È\82é.\r
36 <p>\r
37 </p>\r
38 \83\81\83\82\83R\81[\83\8b\83o\83b\83N\8aÖ\90\94\93à\82ÅSDL_mixer\82Ì\8aÖ\90\94\82âSDL_LockAudio\82ð\8c\88\82µ\82Ä\8cÄ\82ñ\82Å\82Í\82È\82ç\82È\82¢. \r
39 </p>\r
40 <h2>\83T\83\93\83v\83\8b\83R\81[\83h</h2>\r
41 <code>\r
42 <pre>\r
43 // \89¹\8ay\8dÄ\90\8aÖ\90\94\82ð\8dì\82é\r
44 // udata\82Íint\82Ö\82Ì\83|\83C\83\93\83^\82ð\91z\92è\82µ\82Ä\82¢\82é\r
45 void myMusicPlayer(void *udata, Uint8 *stream, int len)\r
46 {\r
47     int i, pos=*(int*)udata;\r
48 \r
49     // \83o\83b\83t\83@\82É...\82¤\81[\82ñ...\89¹\8ay\82ð\8f\91\82«\8d\9e\82Þ\r
50     for(i=0; i&lt;len; i++)\r
51         stream[i]=(i+pos)&amp;ff;\r
52 \r
53     // \8e\9f\89ñ\82Ì\82½\82ß\82Ìudata\82ð\90Ý\92è\82·\82é\r
54     pos+=len;\r
55     *(int*)udata=pos;\r
56 }\r
57 ...\r
58 // myMusicPlayer\82Å...\82¤\81[\82ñ...\89¹\8ay\82ð\8dÄ\90\82·\82é\r
59 int music_pos=0;\r
60 Mix_HookMusic(myMusicPlayer, &amp;music_pos);\r
61 </pre>\r
62 </code>\r
63 <h2>\8eQ\8fÆ</h2>\r
64 <a href="Mix_SetMusicCMD.html">Mix_SetMusicCMD</a>,\r
65 <a href="Mix_GetMusicHookData.html">Mix_GetMusicHookData</a>\r
66 <h2>\8c´\95\82Ö\82Ì\83\8a\83\93\83N</h2>\r
67 <a href="http://www.libsdl.org/projects/SDL_mixer/docs/SDL_mixer_60.html#SEC60">4.5.8 Mix_HookMusic</a>\r
68 <hr>\r
69 </body>\r
70 </html>\r