主题:  检测系统能否播放声音?

初学者

职务:普通成员
等级:1
金币:0.0
发贴:3
注册:2006/12/12 20:49:21
#12007/4/30 18:02:27
在Director中如何检测 系统中有无安装声卡或者声卡工作是否正常,也就是检测系统能不能播放声音的问题?如果正常就跳转到主界面,不正常就提示"不能播放"的字样?要帧脚本,不是movie脚本,我是新手啊,不怎么懂logo,大家来帮帮我,先谢谢!!



初学者

职务:普通成员
等级:1
金币:0.0
发贴:3
注册:2006/12/12 20:49:21
#22007/5/1 1:36:50
没人帮我?自己顶一下,想了很久,找了很多语句都不行,今天看了下 buddyapi中文帮助,发现插件budapi.x32里面有一个函数 baSoundCard 似乎可行,它的解析是这样的:
--------------------------------------------------------
SoundCard
描述:    baSoundCard 检测是否安装了声卡。
用法:    Result = baSoundCard()
变量:    无.
返回值:    整数.
    如果安装了返回1,否则为0.
示例:    Director:
    set Sound = baSoundCard( )
-------------------------------------------------------
我用这个语法写了一个帧脚本,测试了一下表面上还可行,实际上我觉得还是不行,因为系统能否播放声音涉及以下几个方面:
1.无声卡
2.有声卡,没驱动
3.有声卡,有正确的驱动,但是停用了这个设备
4.有声卡,启用了这个设备,但驱动中断冲突
-----------------------------------------------------------
我是这样写的语句:

on ExitFrame me
if baSoundCard() then
go to movie "main"
else
alert "你的系统不能播放声音!"
end if
end
----------------------------------------------------------------
高手帮我看看,应该怎么实现这个功能,我很急啊,再次谢谢!!



初学者

职务:普通成员
等级:1
金币:0.0
发贴:3
注册:2006/12/12 20:49:21
#32007/5/2 23:49:19
问题已经解决.谢谢大家!
2种方法:
-------------------------------------------------------------------------------------------------------------------
1.使用插件budapi.x32的函数 baSoundCard ,打包时记得把budapi.x32加入到影片中(修改->影片->Xtras特效...->加入->budapi.x32)
语句是下面的帧脚本语句.
on ExitFrame me
if baSoundCard() then
go to movie "main"
else
alert "你的系统不能播放声音!"
end if
end
-----------------------------------------------------------------------------------------------------------------
2.用mci:(使用2个脚本)
电影脚本:
on computerCanPlayAudio
 if the machineType < 256 then
  -- 表示本机为苹果MACINTOSH机
  return TRUE
 else -- 表示本机为IBM PC 兼容机
  mci "capability waveaudio can play"
  if the result = "true" then
   return TRUE
  else
   return FALSE
  end if
 end if
end

帧脚本:
on ExitFrame me
-- 检测计算机能否播放声音
if computerCanPlayAudio() then
go to movie "main"
else
alert "你的系统不能播放声音!"
end if
end