背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  
阅读内容

SDL在win32平台与Linux平台下的一些差别

[日期:2008-05-14] 来源:Linux公社  作者:Linux整理 [字体: ]

最近在学习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=

属实挺麻烦的。(作者:龙飞)


相关资讯      
本文评论       全部评论
发表评论
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款


点评: 字数
姓名:

L
I
N
U
X


GOOGLE搜索
Google