16.layui时间选择组件的使用
这是官方示例:
随便引入一个选择框,我这里引入的是时间范围选择。
<div class="jeinpbox" style="width: 20%; float: right">
<input style=" float: right" type="text" id="fStartAndEndDate" name="fStartAndEndDate" class="jeinput data-YYYY-MM-DD_update1 form-control " placeholder="YYYY-MM-DD至YYYY-MM-DD">
</div>
但是注意引入相应的js代码,放在<script>标签下就可以
然后就好了:
17.代码中枚举类型的定义
package cn.wtu.broadcast.openapi.enums;
public enum DeviceChannelThirdCodeEnum {
Microphone(1, "话筒"),
LineOne(2, "线路一"),
LineTwo(3, "线路二"),
UDisk(4, "U盘"),
FrequencyModulationOne(5, "调频一"),
FrequencyModulationTwo(6, "调频二"),
TelephoneMessage(7, "电话短信"),
TextToLanguageConversion(8, "文本");
private int code;
private String desc;
public int getCode() {
return code;
}
public String getDesc() {
return desc;
}
private DeviceChannelThirdCodeEnum(int code, String desc) {
this.code = code;
this.desc = desc;
}
@Override
public String toString() {
return String.valueOf(this.code);
}
public static DeviceChannelThirdCodeEnum getSexEnumByCode(String code) {
for (DeviceChannelThirdCodeEnum deviceChannelThirdCodeEnum : DeviceChannelThirdCodeEnum.values()) {
if (code != null && code.equals(String.valueOf(deviceChannelThirdCodeEnum.getCode()))) {
return deviceChannelThirdCodeEnum;
}
}
return null;
}
}
18.服务器下部署报如下错误
这个错误导致项目加载内存不足,原因在于tomcat日志文件需要及时清理,使用
echo "">catalina.out
该命令会清除logs下的这个catalina,.out文件中的数据。然后重启即可。
19.日期转换,如何对日期进行加减操作,使用Calendar进行相应操作,比较方便
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = format.parse(fStartTime);
Calendar instance = Calendar.getInstance();
instance.setTime(date);
dates[0] = new SimpleDateFormat("yyyy-MM-dd").format(date);
for(int i=1; i<=6; i++){
instance.add(Calendar.DAY_OF_MONTH,1);
dates[i] = new SimpleDateFormat("yyyy-MM-dd").format(instance.getTime());
}
20.年后还遇到的一些问题:
===>纯mp3格式、带一张图片的mp3格式的两种类型的音频流的解析。
===>待播发队列排队问题。(如何实现广播排序<先按照时间排序,要求应急广播永远在最前面>、插播(只有应急广播是插播)) ,如何在待播发队列里面实现手动排队(就是加上一个上下箭头和删除该广播和一键置顶按钮)。
21.如何将jeDate中选择的数据,请求后台后,如何返回到bootstrap-table的表格中。
其实在bootstrap的refresh方法可以发送请求,只要你在responseHandler中处理好后,就一直使用refresh发送请求即可。非常方便,可参考官方文档的方法介绍:
按照上述的叙述,我是这样写的:
我从后台返回的是map数据,在bootstrap-table中的responseHandler中是这样处理并返回页面的:
22.string类型的字符串如何对应到数据库中的date类型
其实是没有想象中那么复杂,我当时是卡在转换之后,和数据库中的数据完全不一致,所以就没有再往下测试了
其实这样对于数据库类型对应没有啥关系,依然可以这样使用:
23.由于mp3文件中带有图片,导致适配器能够接收数据,当时无法播放音频。
去掉mp3音频文件的图片,当时这个问题停滞了很久,一直没能解决,最后16号和湖南九天信达的易工讨论,解决了这个问题,使用ffmpeg,可以直接使用如下命令,一下子就解决了mp3文件中待图片的问题:
ffmpeg -i test.mp3 -af silenceremove=1:0:-50dB:1:0:-50dB newTest.mp3
具体命令参考如何文档:https://ffmpeg.org/ffmpeg-filters.html#silenceremove
24.mp3文件使用适配器播放断续,这是由于设备对于码率的最低要求是32kbps,但是项目组自己使用jave(这不是java语言,是sun公司开发的一个工具)的jar包,然后去封装了一个转码率的工具类
public static void changeBitRate(File file,File file1){
MultimediaObject multimediaObject = new MultimediaObject(file);
Encoder encoder = new Encoder();
EncodingAttributes encodingAttributes=new EncodingAttributes();
encodingAttributes.setFormat("mp3");
AudioAttributes audioAttributes=new AudioAttributes();
audioAttributes.setBitRate(128000);
encodingAttributes.setAudioAttributes(audioAttributes);
try {
encoder.encode(multimediaObject,file1,encodingAttributes);
} catch (EncoderException e) {
e.printStackTrace();
}
file.delete();
}
jar包如下: