我正在使用情绪分析API,该API会分析视频,然后将读取的情绪存储到数据库中。我编写了以下代码,以使其在视频的每10秒仅存储一次 的情绪。它不会将任何内容写入数据库,但是当我删除
时如果(has.getFrameTimeStamp()%10000 == 0){
部分,它按正常速度每秒写入一次,我不需要。
has.getFrameTimeStamp()=视频的特定秒数
if (has.getFrameTimeStamp() % 10000 == 0) {
using (SqlConnection conn = new SqlConnection(@"<file path>")) {
conn.Open();
using (SqlCommand cmd1 = new SqlCommand("INSERT INTO TBL_VIDEO(TIMESTAMP,JOY_SCORE,SURPRISE_SCORE,ANGER_SCORE,FEAR_SCORE,SADNESS_SCORE,DISGUST_SCORE) VALUES('" + has.getFrameTimeStamp().ToString() + "','" + people.get(i).impression.emotion_response.joy_score.ToString() + "','" + people.get(i).impression.emotion_response.surprise_score.ToString() + "','" + people.get(i).impression.emotion_response.anger_score.ToString() + "','" + people.get(i).impression.emotion_response.fear_score.ToString() + "','" + people.get(i).impression.emotion_response.sadness_score.ToString() + "','" + people.get(i).impression.emotion_response.disgust_score.ToString() + "')", conn)) {
using (SqlDataReader dr = cmd1.ExecuteReader()) {
}
}
}
}
任何帮助/建议将不胜感激。谢谢!
答案 0 :(得分:0)
您的基本意思是每166分钟更新一次数据库
如果要10秒,则需要做10的modulo
if (has.getFrameTimeStamp() % 10 == 0)
也
提示,整理代码,您会绊倒并伤害自己:)
在计算中,取模运算除以余数 一个数字与另一个数字(有时称为模数)。
余数运算符(%)将其除以余数 第一个操作数,第二个操作数。所有数字类型均已预定义 余数运算符。