我正在尝试编写自己的自定义播放功能,当我遇到Mix_HookMusic
时,正在查看SDL &ff
函数的文档。这指的是什么?提前谢谢!
// make a music play function
// it expects udata to be a pointer to an int
void myMusicPlayer(void *udata, Uint8 *stream, int len)
{
int i, pos=*(int*)udata;
// fill buffer with...uh...music...
for(i=0; i<len; i++)
stream[i]=(i+pos)&ff;
// set udata for next time
pos+=len;
*(int*)udata=pos;
}
...
// use myMusicPlayer for playing...uh...music
int music_pos=0;
Mix_HookMusic(myMusicPlayer, &music_pos);
答案 0 :(得分:1)
鉴于i
和pos
都是变量,看起来在这种情况下,涉及的&
是按位运算符。猜测(但不确定),ff
可能是包含值0xff
的变量。这意味着这需要i+pos
,检索最低有效8位,并将该值写入stream[i]
(这有一定意义,因为stream
是指向Uint8
的指针} s,它可能是公平的假设是unsigned char
的typedef。