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包如下: