博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

Unix爱好者家园

卓越源代码  
   sdccf.cublog.cn
关于作者  
姓名:sdccf
职业:chinapost
年龄:36
位置:sd
个性介绍:

我的分类  




SDL在win32与Linux下的一些差别
作者:龙飞  出自: http://www.linuxdiyf.com


最近在学习Linux,主要考虑到跨平台开发。我一直都在思考关于中文输入的问题,在win32下解决起来那么麻烦,难道SDL的作者会不解决吗──如果是bug的话。事实证明,在Linux平台下,我们自己把GB2312往Unicode转换的工作就多余了。当前Linux内部用的就是UTF-8(我的系统是Debian 4.0),SDL的TTF函数完全可以正常工作。不过,在Linux下面也会有些问题,现在发现的有这些,大家有发现的继续帮我补充哈。

1、在Linux下,TTF_RenderUTF8_Blended 是可以正常渲染简体中文的。但是不知道为什么,Solid的渲染会报错,共享(动态链接)库的问题。

2、在Linux下,mid文件用SDL_mixer是打不开的。至少我的情况是这样,我装了ALSA的声卡驱动,不知道还需要做些什么才能放midi。

3、直接装了ALSA的驱动播放SDL_mixer是有噪音的。解决方法,也是打开Linux下软件混音(ESD)的方法如下:

混音可以让两种音乐同时播放,首先需要安装libesd-alsa0,用Synaptic或sudo apt-get install等方式都可以进行安装,它就在Ubuntu官方软件库中。然后,用sudo gedit或您喜欢的文本编辑器创建文件

/etc/asound.conf
pcm.card0 {
type hw
card 0
}

pcm.!default {
type plug
slave.pcm "dmixer"
}

pcm.dmixer {
type dmix
ipc_key 1025
slave {
pcm "hw:0,0"
period_time 0
period_size 1024
buffer_size 4096
periods 128
rate 44100
}
bindings {
0 0
1 1
}
}

接下来,运行"sudo gedit /etc/esound/esd.conf",将文件改成下面的内容:

auto_spawn=1
spawn_options=-terminate -nobeeps -as 2 -d default
spawn_wait_ms=100
# default options are used in spawned and non-spawned mode
default_options=

属实挺麻烦的。

 发表于: 2008-05-13,修改于: 2008-05-13 11:34 已浏览125次,有评论0条 推荐 投诉

  网友评论

  发表评论



Copyright © 2001-2006 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们
页面生成时间:0.36338

京ICP证041476号