2013-03-08 90 views

回答

2

正如documentation(您应该阅读)所述,格式指定音频数据格式。

例如

AUDIO_U16MSB -> Unsigned 16-bit big-endian samples 

AUDIO_U8 -> Unsigned 8-bit samples 


格式描述的数据的类型被存储什么,字符型,无符号字符,短等...,所以程序能够正确地解析它。

当您致电SDL_OpenAudio()时,您可以设置您的首选格式。如果首选格式不可用的设置改变为硬件设置


引用从文档:

SDL_OpenAudio读取来自所期望的SDL_AudioSpec结构这些字段传递给该函数,并试图找到一个音频配置匹配你想要的。如上所述,如果获得的参数为NULL,则SDL将在播放时从所需的音频设置转换为硬件设置。

+0

感谢您的回答。我确实找到了这些文档,但是我不清楚它的含义。由于它是一个文件属性,我试图在我从ffmpeg获得的codecContext中找到它,并找到一个文件,我发现AV_SAMPLE_FMT_U8确实与SDL中的AUDIO_U8设置相匹配,但另一个文件告诉我它的示例格式是AV_SAMPLE_FMT_FLTP。任何想法与SDL格式匹配?到目前为止,我只通过扬声器获得噪音... – kodu 2013-03-08 15:27:37

+0

如果在Windows上尝试AUDIO_S16。最好是使用[SDL_mixer](http://www.libsdl.org/projects/SDL_mixer/)+为它找到一个教程。 – 2013-03-08 16:11:20

相关问题