所以我有一个存档,正在将我的 .wav 文件加载到内存中,我正在尝试从 void* 播放 .WAV 或在内存中处理。
II 不能在目录中包含所有 .wav 文件,并且我有一个将它们加载到内存中的函数。
这是我正在尝试的一些代码,我已经尝试了很多东西,但很多似乎都不起作用,我认为 SDL 库正在寻找要加载的物理文件,但我无法确认。
void *MusicTrack;
void Load_andPlay_music(ntrack){
OpenFileFromMPQ( MusicTracks[ntrack], &MusicTrack) // Opens Audio track from MPQ.
Mix_OpenAudio(22050, MIX_DEFAULT_FORMAT, 2, 4096);
music = Mix_LoadMUS(MusicTracks[ntrack]);
// I thought that once the file is loaded it might be available as part of $PATH. This is not the case.
Mix_PlayMusic(music, -1);
}
> 如果我试试这个,......
Mix_PlayMusic(MusicTrack, -1);
我遇到错误 'int Mix_PlayMusic(Mix_Music *,int)': cannot convert argument 1 from 'void *' to 'Mix_Music *'
如果您使用 SDL2 有更好的解决方案,那么我也愿意看看。
谢谢。