#!/bin/bash
i=0 #记录拍照次数,用于照片命名
#j=0 #记录录音次数,
start=$(date+%s) # 获取开始时间,格式如1639019808
now=""
dt=60 #设置拍照间隔
#dtt=900 # 设置录音间隔
tr=0 # 记录开始到现在的时间(秒数)
or=0 # 下一次拍照距开始的时间
#orr=0 #下一次录音距开始的时间
trap 'onCtrlC' INT # Ctrl-c 的处理
onCtrlC() {
termux-microphone-record -q # 退出录音
echo -e "\ntotal run $tr sec\n" # 输出总运行时间(秒)
exit 0 # 退出程序
}
# 开始录音,时间无限,做后一个长参数为保存路径和文件名,-e 指定录音编码,默认为.m4a文件
termux-microphone-record -e acc -l 0 -f ~/storage/shared/01myfile/termux-acc/${start}${j}.acc
while [ "1" = "1" ] # 一直运行,直到ctrl-c,
do
now=$(date +%s)
let tr=$now-$start
let or=$dt*$i
#let orr=$dtt*$j
if [ $tr -gt $or ]
then
termux-camera-photo -c 1 ~/storage/shared/01myfile/termux-pho/1/${start}${i}1.jpg # 摄像头1拍照,(可能是前置摄像头),后为保存路径和文件名,下同
termux-camera-photo -c 0 ~/storage/shared/01myfile/termux-pho/0/${start}${i}0.jpg
# 或许还会有摄像头2,3等,可以多写几个试试看会不会报错,最后把不能用的和不想用的注释掉或删掉,请注意手机内存,和每张照片的大小....
let i+=1 # i 计数 加1
fi
#if [ $tr -gt $orr ]
#then
#termux-microphone-record -e acc - l $dtt -f ~/storage/shared/01myfile/termux-acc/$start$j.acc
# let j+=1
#fi
# 将此处和开始的那部分注释了的命令去除注释,和把上面的录音(时间无限)的那一行注释掉,可以设置成每**时间的录音保存到一个文件里,分开保存
sleep 1 # 休眠1秒,也可以更长的,比如10秒,甚至60秒
echo -e "\rrun $tr sec \c" # 在同一行刷新显示运行时间
done
termux :0.117
termux-api: 0.49
MIUI: 12.5.7
下一步可以封装一下,直接用参数设置,不用一次一次修改文件。和占用储存太多时自动删除一些之前记录的文件。