上次在研究 CC: Tweaked 电脑磁碟机的时候
在 /rom/apis/disk.lua 发现一个有趣的函数
function playAudio(name)
if isDrive(name) then
peripheral.call(name, "playAudio")
end
end
这不就是播放音乐吗?
也就是说磁碟机也可以播放音乐
先来看看不依靠模组,原本就支援的播放唱片
只要对着唱片机「使用」唱片即可
而如果用磁碟机,则一样要把唱片放入磁碟机里头
接着用 Lua 写这一行即可
输入为 'left' 是因为磁碟机在我电脑左方
其他的方位则是 'right', 'top', 'bottom', 'front', 'back'
就看你磁碟机怎麽安装
disk.playAudio('left')
另外,我还在 /rom/programs/fun 找到了一个有趣的 script
dj.lua
local sCommand = tArgs[1]
if sCommand == "stop" then
-- Stop audio
disk.stopAudio()
elseif sCommand == "play" or sCommand == nil then
-- Play audio
local sName = tArgs[2]
if sName == nil then
-- No disc specified, pick one at random
local tNames = {}
for _, sName in ipairs(peripheral.getNames()) do
if disk.isPresent(sName) and disk.hasAudio(sName) then
table.insert(tNames, sName)
end
end
if #tNames == 0 then
print("No Music Discs in attached disk drives")
return
end
sName = tNames[math.random(1, #tNames)]
end
-- Play the disc
if disk.isPresent(sName) and disk.hasAudio(sName) then
print("Playing " .. disk.getAudioTitle(sName))
disk.playAudio(sName)
else
print("No Music Disc in disk drive: " .. sName)
return
end
else
printUsage()
end
看起来 dj 的用法就是以下几种,大家可以试试
停止播放唱片
dj stop
播放左边磁碟机的唱片
dj play left
自动从所有的唱片中随机挑选播放
dj play
因为是 Command line 的方式,而且还会自动挑选唱片,比起我们自己写 Lua 是有稍微方便一点~
peripheral.getNames()
是取得所有电脑外接的设备位置
例如 { 'left', 'top' }
disk.isPresent(sName)
则是判断该位置的磁碟机内是否有东西
磁碟机的研究就到这里,下回我会开始让电脑外接大萤幕!
敬请期待~
认识Python的基本资料型别吧! 每个程序语言都有各自独特的资料型别,让我们快速认识Pytho...
何谓路径? 要介绍路径绘图相关的api之前,必须要先理解什麽叫做『路径』。 有学过电脑绘图软件,例如...
今天开始就要来利用专题了解 GAS 的各项功能罗~ 说到要能优雅、或是狼狈的…总之要能够享受下午茶,...
幸福时光~手作甜汤 地点:台南市新营区民权路118号 时间:14:00~20:30 这家店可以看作是...
昨天的巢状判断式有没有成功扰乱你呢?不管懂不懂,都要记得常常去复习哦,这样才会有深刻的印象!(๑•̀...