作者:龍飛
最近在學習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=
屬實挺麻煩的:)
posted on 2008-05-12 01:55
lf426 閱讀(3685)
評論(2) 編輯 收藏 引用 所屬分類:
SDL入門教程 、
跨平臺與GNU