如何通过按耳机发送摩尔斯码?
本帖最后由 RRoy 于 2024-10-22 10:24 编辑很多耳机可以发送 ⏮️ ⏸️ ⏯️ 命令,例如 Airpods,按一下可暂停或继续,按两下可播放下一曲,按三下可播放上一曲。
利用这个特征,GitHub上大佬@EtherDream展示了如何通过按耳机发送摩尔斯码!
GitHub仓库地址:https://github.com/EtherDream/headphone-morse-transmitter
在线演示Web地址:https://etherdream.com/headphone-morse-transmitter/
运行前需关闭其他播放器,否则无法接收耳机命令。
https://dfrobot.loll.cc/video/375444700-37cf43c2-ec2f-429a-b2b2-47a96a5ad242.mp4
由于声音是从耳机里发出来的,因此很轻。
使用方式⏸️ = 点 (.)
⏯️ = 划 (-)
⏮️ = 输出 或 退格
按下 ⏮️ 时,如果 Input 存在内容,则立即输出内容;如果 Input 为空,则相当于退格键,删除 Words 最后一个字符。
距上一次按键达到 Delay 毫秒时,Input 中的内容将会被自动输出。
本程序支持 国际码(IMC)、和文码 (Wabun Code) 以及部分私有特征。
特殊功能
[*]<AA>: 换行 (.-.-)
[*]<HH>: 清空最后行 (. x8)
[*]<DO>: 切换到和文码 (-..---)
[*]<SN>: 返回到国际码 (...-.)
私有功能
[*]<LO>: 切换到小写/平假名(.-..---)
[*]<UP>: 切换到大写/片假名(..-.--.)
[*]<SP>: 空格 (....--.)
[*]<X> + 假名 = 小假名 (-..- ?)
支持 っ ゃゅょ ぁぃぅぇぉ 以及相应的片假名。
键盘操作如果你不想使用耳机,也可使用键盘上的 ⏮️ ⏸️ ⏯️ 键,这样甚至可设置更短的延迟,例如 500 毫秒:
https://dfrobot.loll.cc/video/371762534-6b51ff7e-8c3b-4607-8da6-8e6534e57c74.mp4
此外,点击媒体控制浮层中的 ⏮️ ⏸️ ⏯️ 按钮也可以实现同样的效果。
后台运行
本程序可在后台运行,即使浏览器最小化,甚至锁屏也能运行。
因此你可以在手机上打开该网页,锁屏后盲发摩尔斯电码。只需按耳机,听反馈,无需看屏幕。
https://dfrobot.loll.cc/video/376017007-4fd3d899-7153-4029-8643-4775c699265e.mp4
已知问题
火狐浏览器不稳定。
iPhone 目前不支持 Media Source Extensions,并且 AudioContext 和 MediaSession 会有冲突,因此最终方案只用单个 <audio> 播放所有声音。
参考资料
@EtherDream: https://github.com/EtherDream
国际码(IMC): https://morsecode.world/international/morse.html
和文码 (Wabun Code): https://en.wikipedia.org/wiki/Wabun_code
转载请注明来源信息
页:
[1]