mednafen 模拟器一直无声,最后找到原因
nitializing sound...Using "ALSA" audio driver with device "default":ALSA Error: snd_pcm_open(&alsa_pcm, id ? id : "hw:0", SND_PCM_STREAM_PLAYBACK, 0) 设备或资源忙
Error opening a sound device.
升级了好多东西,最后想到timidity++,删掉这玩意后正常了,可是如果不加载timidity,那Web上的mid音乐就听不到了,两难。 需要mid时候才加载timidity。
有冲突时候暂停timidity服务 奇怪的是只要我加载了timidity(timidity -iA)服务的话,web的timidity -Os调用和mednafen都会失败。 无声音可以参考一下
http://www.lemote.com/bbs/viewthread.php?tid=20410&highlight=pcm%2Btanhitzq
lsof来查,先查的是dsp,无结果,后来又查了pcm,发现居然是scim占用了,
# lsof |grep pcm
scim-laun 4500 saga 13u CHR 116,16 0t0 2777 /dev/snd/pcmC0D0p
scim-help 4504 saga 13u CHR 116,16 0t0 2777 /dev/snd/pcmC0D0p
scim-pane 4505 saga 13u CHR 116,16 0t0 2777 /dev/snd/pcmC0D0p
scim-brid 4507 saga 13u CHR 116,16 0t0 2777 /dev/snd/pcmC0D0p
杀掉scim进程,声音恢复。 一些新的发现吧,timidity -iA做为音序服务,只有在运行了fluidsynth后aseqmm的mid播放器才会正常工作(由于升级了libsndfile所以也说不清了,之前好象不是这样的),timidity -iA可能是被kde4记忆了,所以开机就启动,所以造成mednafen无法读取pcm设备。
完全停止timidity -iA和fluidsynth的应用后很正常,只是任何有进行mid音乐的播放相关调用,mednafen就无声,如果mednafen先启动了Web的mid调用失败。
看来只能算是mednafen自己的问题了,另外一款游戏模拟器就没这个问题,mednafen目前没有界面,或许我可以写一个指令脚本或Qt4界面来调用mednafen。 玩游戏的时候,没有太多的需要web的mid吧?
更加需要的是游戏的声音。
玩完游戏再恢复mid就是了 原帖由 haulm 于 2010-1-10 10:36 发表 http://www.linuxfans.org/bbs/images/common/back.gif
一些新的发现吧,timidity -iA做为音序服务,只有在运行了fluidsynth后aseqmm的mid播放器才会正常工作(由于升级了libsndfile所以也说不清了,之前好象不是这样的),timidity -iA可能是被kde4记忆了,所以开机就启动,所以造成medna ...
其实是timidity占用声卡的问题。timidity和好多声音软件有冲突,好像和dosbox也有些冲突。
timidity这个软件太老了。 fluidsynth也占用声卡,只要它运行mednafen也没声音,总的来说还是开发的问题,或者有可能是我们自己编译默认参数的问题。 原帖由 haulm 于 2010-1-10 10:50 发表 http://www.linuxfans.org/bbs/images/common/back.gif
fluidsynth也占用声卡,只要它运行mednafen也没声音,总的来说还是开发的问题,或者有可能是我们自己编译默认参数的问题。
只能说linux的mid软件太菜了,win下怎么播放mid都没有独占声卡的问题。 timidity 的输出用的是 oss 模拟吧?貌似现在 alsa 打开软件混音应该不存在独占的问题啊?
印象里以前遇到软件用 alsa 的 oss 模拟时会导致独占的。
楼主为什么不试试让 timidity 用 Arts 、ESD 等等这种软件混音器来中转播放?
页:
[1]