文档章节

MFC中使用SDL播放音频没有声音的解决方法

雷霄骅
 雷霄骅
发布于 2014/08/16 13:50
字数 304
阅读 114
收藏 0

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

在控制台中使用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);



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

本文转载自:http://blog.csdn.net/leixiaohua1020/article/details/15029951

雷霄骅

雷霄骅

粉丝 213
博文 419
码字总数 2129
作品 4
朝阳
程序员
私信 提问
加载中

评论(0)

SDL+Rose:让跨平台编程返璞归真

十多年前,只要学会C/C++,基本就能写所有平台程序。十多年后的今天,说要用C/C++写各平台程序,不少人会认为不可能,原因很多,像平台原生语言就不是C/C++,程序要求部署灵活。——但是,程...

rose-sdk
2015/07/06
1K
1
音视频入门(学习ffmpeg tutorial之iOS 环境搭建)

目前做的事情就是按照ffmpeg tutorial上的内容学习写一个简单的播放器,这本教程虽然已经过时了,但是针对ffplayer(ffplayer是ffmpeg官方给出的示例播放器,ijkplayer就是根据ffplayer改造的...

arceushs
2019/01/22
0
0
《基于 FFmpeg + SDL 的视频播放器的制作》课程的视频

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/leixiaohua1020/article/details/47068015 这两天开始带广播电视工程大二的暑假小学期的课程设计了。本次小学...

雷霄骅
2015/07/26
0
0
linux 配置 clang++ SDL 开发环境 (新手向)

前两天看到一篇介绍 clang 的文章 大为心动 新版本的 clang 比 gcc 支持 c++11 的东西还要多。 于是就想着配一个clang的环境。一开始在我的mingw下面配,结果不支持64位。无奈从虚拟机里面装...

架构梦想
2012/12/19
1K
0
打造低延迟互动音频: Oboe

声音是互动不可或缺的一环。但您可能没有意识到,如果想真正打造出 “互动” 的感觉,低延迟、高互动的音频处理 (包括采集和回放) 有多重要。 如果您有玩音乐游戏,或者音乐软件 (如 DJ 或者...

谷歌开发者
2018/11/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周二乱弹 —— 一山里不容二猫

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《数え歌》- 池田綾子 手机党少年们想听歌,请使劲儿戳(这里) @诺墨 :哈哈哈哈...

小小编辑
11分钟前
19
1
敏捷开发验收评审会议

迭代验收评审是Scrum中的重要活动之一,迭代验收评审会议召开过程是否符合敏捷原则,实践是否贴近实际,参照以下:要点一:参加迭代验收评审会议的角色是否完整和投入 ●敏捷团队所有...

沐沐爸比
38分钟前
43
0
js 获取文件本地内存路径

URL.createObjectURL(file)

DrChenXX
今天
51
0
CentOS 6.5 安装 Hadoop 集群【未完】

1、安装 CentOS 6.5 2、关闭 iptables 3、关闭 suliunx 4、修改 IP 4、修改 hostname 5、修改 hosts 6、SSH 免密 7、JDK(1.8)安装 华为镜像直达 8、...

产品哥
今天
59
0
R语言用quantstrat包获取股票、债券、基金、黄金、原油、指数、外汇和全球经济数据

R语言可以非常轻松的获得证券(股票、债券、基金、期货(黄金、原油等)、期权),指数、外汇和美联储提供的各种经济数据。我来详细说一下。 quantstrat包的金融数据很全 yahoo提供的各种证券...

常志伟
今天
49
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部