SDL播放pcm无声音的原因

试过了网上各种:

  • 要用if(SDL_Init(SDL_INIT_AUDIO | SDL_INIT_TIMER)) ,不要用if(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_TIMER)) ---NO

  • 无论如何先SDL_memset(stream, 0, len); ---NO

最后对比了一个可以出声的程序,原因如下:

"fopen()"函数中的"r"和"rb"表示以只读方式打开文件,但是前者是文本模式,后者是二进制模式。在文本模式中,即使操作系统使用不同的换行符,都会被转换为'\n'进行处理。在二进制模式下,文件中的所有数据都被视为raw数据,且不进行任何的字符集转换。

然后,看了看不出声的程序,是用了audio_fd = fopen(path, "r");,改成audio_fd = fopen(path, "rb"); 之后,一切都好了!!!!

相关推荐
韩zj5 天前
android 蓝牙语音转换成pcm文件,进行播放暂停停止操作
android·蓝牙·pcm
DevinLGT10 天前
音频编码:PCM【无损音频】
嵌入式硬件·音视频·pcm
布丁小站10 天前
SDL录制音频并播放
音视频·sdl
懮 俍13 天前
前端请求音频返回pcm流进行播放
前端·vue.js·音视频·pcm
桃根仙21 天前
调用系统的录音设备提示:line with format PCM_SIGNED 16000.0 Hz
pcm
程序员黄老师21 天前
Windows下SDL2创建最简单的一个窗口
c++·windows·sdl·sdl2
程序员黄老师22 天前
Windows与Linux下 SDL2的第一个窗口程序
c++·windows·ffmpeg·sdl
limengshi1383921 个月前
通信工程学习:什么是PCM脉冲编码调制、DPCM差分脉冲编码调制、ADPCM自适应差分脉冲编码调制
网络·学习·信息与通信·pcm·adpcm
C有点难。1 个月前
音频原始数据PCM
音视频·pcm
楚肽生物--多肽合成定制1 个月前
特异性心肌细胞靶向肽(PCM);WLSEAGPVVTVRALRGTGSW;CAS:771479-86-8
科技·学习·pcm