博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MFC中使用SDL播放音频没有声音的解决方法
阅读量:5951 次
发布时间:2019-06-19

本文共 1010 字,大约阅读时间需要 3 分钟。

hot3.png

本文所说的音频是指的纯音频,不包含视频的那种。

在控制台中使用SDL播放音频,一般情况下不会有问题。

但是在MFC中使用SDL播放音频的时候,会出现没有声音的情况。经过长时间探索,没有找到特别好的解决方案,但是有一种方式可以让声音播放出来:那就是让SDL显示图像(视频)时候的那个对话框弹出来,声音就会出现了。

具体的方法可以加载一张图片(比如说BMP),下图所示代码片段为加载BMP图片的代码。

SDL_Surface *screen = SDL_SetVideoMode(640, 480, 8, SDL_SWSURFACE);	SDL_Surface *image;	/* Load the BMP file into a surface */	image = SDL_LoadBMP("background.bmp");	if (image == NULL) {		return 0;	}	/*	* Palettized screen modes will have a default palette (a standard	* 8*8*4 colour cube), but if the image is palettized as well we can	* use that palette for a nicer colour matching	*/	if (image->format->palette && screen->format->palette) {		SDL_SetColors(screen, image->format->palette->colors, 0,			image->format->palette->ncolors);	}	/* Blit onto the screen surface */	if(SDL_BlitSurface(image, NULL, screen, NULL) < 0)		fprintf(stderr, "BlitSurface error: %s\n", SDL_GetError());	SDL_UpdateRect(screen, 0, 0, image->w, image->h);

不明白这是为什么,但是程序就可以出声了。

转载于:https://my.oschina.net/leixiaohua1020/blog/302052

你可能感兴趣的文章
Hadoop数据操作系统YARN全解析
查看>>
Django 运行报错 ImportError: No module named 'PIL'
查看>>
修改数据库的兼容级别
查看>>
Windows下同时安装两个版本Jdk
查看>>
uoj#228. 基础数据结构练习题(线段树)
查看>>
JS键盘事件监听
查看>>
ios开发周期之--(向上,向下,四舍五入)取整
查看>>
加油!
查看>>
拦截导弹问题(动态规划)
查看>>
iOS 单元测试(Unit Test 和 UI Test)
查看>>
[linux小技巧]
查看>>
文件下载_中文乱码:"Content-disposition","attachment; filename=中文名
查看>>
HBase 笔记3
查看>>
2017.11.23 display fun --STM8
查看>>
深入学习jQuery选择器系列第八篇——过滤选择器之伪子元素选择器
查看>>
一个关于log4j的悲伤的故事
查看>>
PCA
查看>>
ajax上传文件
查看>>
java中通过绝对路径将图片存入数据库
查看>>
简要记录浮点型数据的二进制存储格式
查看>>