当前位置: 首页 > news >正文

tomcat做网站属于什么seo关键词优化排名公司

tomcat做网站属于什么,seo关键词优化排名公司,建站小软件,苏州设计公司排名前十1.背景 最近对接了一款智能手表,手环,可以应用与老人与儿童监控,环卫工人监控,农场畜牧业监控,宠物监控等,其中用到了音频传输,通过平台下发语音包,发送远程命令录制当前设备音频并…

1.背景

最近对接了一款智能手表,手环,可以应用与老人与儿童监控,环卫工人监控,农场畜牧业监控,宠物监控等,其中用到了音频传输,通过平台下发语音包,发送远程命令录制当前设备音频并将音频分包传输到服务器上生成音频文件等。其中关于音频的一些简单操作封装成了工具包。

2.音频工具包

引入jaudiotagger,用来获取MP3格式的音频时长。

        <dependency><groupId>org</groupId><artifactId>jaudiotagger</artifactId><version>2.0.1</version></dependency>

工具包代码:AudioUtils
 

package com.xxxx.common.utils;import lombok.extern.slf4j.Slf4j;
import org.jaudiotagger.audio.AudioFileIO;
import org.jaudiotagger.audio.mp3.MP3AudioHeader;
import org.jaudiotagger.audio.mp3.MP3File;import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.RandomAccessFile;/*** 音频处理工具类* @author Mr.Li* @date 2023-10-26*/
@Slf4j
public class AudioUtils {/*** 二进制流转音频文件* @param binaryData* @param outputFilePath* @throws IOException*/public static boolean convertBinaryToAudio(byte[] binaryData, String outputFilePath) throws IOException {FileOutputStream outputStream = null;try {outputStream = new FileOutputStream(outputFilePath);outputStream.write(binaryData);return true;}catch (Exception e){log.error("convertBinaryToAudio:outputFilePath:{}",outputFilePath,e);return false;}finally {if (outputStream != null) {outputStream.close();}}}/*** 获取AMR格式音频长度* @param file* @return* @throws IOException*/public static int getAmrDuration(File file) throws IOException {long duration = -1;int[] packedSize = { 12, 13, 15, 17, 19, 20, 26, 31, 5, 0, 0, 0, 0, 0,0, 0 };RandomAccessFile randomAccessFile = null;try {randomAccessFile = new RandomAccessFile(file, "rw");// 文件的长度long length = file.length();// 设置初始位置int pos = 6;// 初始帧数int frameCount = 0;int packedPos = -1;// 初始数据值byte[] datas = new byte[1];while (pos <= length) {randomAccessFile.seek(pos);if (randomAccessFile.read(datas, 0, 1) != 1) {duration = length > 0 ? ((length - 6) / 650) : 0;break;}packedPos = (datas[0] >> 3) & 0x0F;pos += packedSize[packedPos] + 1;frameCount++;}// 帧数*20duration += frameCount * 20;} catch (Exception e){log.error("getAmrDuration:",e);}finally {if (randomAccessFile != null) {randomAccessFile.close();}}return (int)((duration/1000)+1);}/*** 计算Mp3音频格式时长* @param mp3File* @return*/public static int getMp3Duration(File mp3File) {try {MP3File f = (MP3File) AudioFileIO.read(mp3File);MP3AudioHeader audioHeader = (MP3AudioHeader) f.getAudioHeader();return audioHeader.getTrackLength();} catch (Exception e) {log.error("getMp3Duration:",e);return 0;}}public static void main(String[] args) throws IOException {String path="C:\\Users\\MyPC\\Desktop\\卡布奇诺-王逗逗.mp3";int duration = getMp3Duration(new File(path));System.out.println(duration);}
}

致力于物联网应用开发,目前有一套成熟的物联网底层服务与物联网设备管理系统,并提供API,WebHook,MQTT实现将数据实时有效的推送到客户的云平台,助力客户完成自己的SaaS平台开发。

欢迎对物联网感兴趣的朋友加我微信交流学习。

http://www.zhongyajixie.com/news/1552.html

相关文章:

  • 用微魔方做的网站一定要加搜索引擎关键词广告
  • 贵德网站建设小广告公司如何起步
  • 东阿企业做网站推广如何设计与制作网页
  • wordpress地址和站点地址错网络推广工具和方法
  • 怎么建网站手机版百度经验实用生活指南
  • 石家庄网站建设招商网页优化最为重要的内容是
  • 网站建设分金手指排名十三海南seo
  • 微网站工程案例展示关键词优化外包
  • 怎样在网上做环保设备网站seo优化主要做什么
  • 做产品的淘宝客网站seo搜索引擎优化内容
  • 注册表怎么做动态网站市场推广计划书
  • 印章在线制作网站常用的关键词挖掘工具
  • 河南专业页面设计模型设计武汉seo公司出 名
  • 网站正在建设中永久seo关键词分析
  • 在服务器上中的asp网站后台能输入帐号无法进入百度官方客服平台
  • 洛阳做网站公司在哪郑州网络推广方法
  • 苏州企业网站建设哪里有免费的网站推广服务
  • 建设网站如何挣钱门户网站排行榜
  • 西宁做网站需要多少钱免费网页在线客服系统
  • wordpress昵称中文内部搜索引擎优化
  • 做网站开发语言嘉兴网站建设
  • 怎么做简单的企业网站百度账号批发网
  • 织梦网站突然打开很慢企业官网
  • 西安网站开发外包公司有工作手机
  • 公司平台网站建设购买一个网站域名需要多少钱
  • 奶茶店做网站好处一键生成网站
  • 做资讯网站需要什么资质企业网站托管
  • 美女做美网站网络新闻发布平台
  • 全景网站制作教程福州seo排名公司
  • 政府网站制作方案做了5天游戏推广被抓了