vue或html调用浏览器自带文本转语音&以及Java监听某一文件夹新增文件

1.浏览器自带文本转语音vue

var utterThis = new window.SpeechSynthesisUtterance('你好,世界!');
window.speechSynthesis.speak(utterThis);

2.读取mp3文件到浏览器

<audio id="audio" src="/static/utiles/audio/1.mp3"></audio>
#下边是放在前端逻辑代码方法内的
const audio = document.getElementById('audio')
        audio.play()

3.Java代码监听新增文件夹文件读取并移动

public void run() {
//方法1JDK1.7自带watch service类可以读取并发但一旦出现延迟同一时间进入的文件就读取不到,所以我用了方法二
	while(flag) {
	  try {
		 * String filename = null; WatchKey key;//监听类 WatchService
		 * service=FileSystems.getDefault().newWatchService();
		 * Paths.get(path).register(service, StandardWatchEventKinds.ENTRY_CREATE);
		 * key=service.take(); log.info("开始监听》..."); for (WatchEvent<?> event :
		 * key.pollEvents()) { filename=path+event.context(); File file=new
		 * File(filename); //TimeUnit.SECONDS.sleep(2);//休眠一秒
		 * System.out.println(file.getName()); AnalysisEFile analysisEFile=new
		 * AnalysisEFile(filename); LinkedList<EFileContent>
		 * eLinkedList=analysisEFile.AnalysisFile();
		 * optEFileService.AnalysisEFile(eLinkedList); }
		 */
		for (String string : list) {
		AnalysisEFile analysisEFile=new AnalysisEFile(string);
		LinkedList<EFileContent> eLinkedList=analysisEFile.AnalysisFile();
		optEFileService.AnalysisEFile(eLinkedList);
	}
	
    // 如果重设失败,退出监听
    if (!key.reset()) {
        break;
    }
    }
    //方法二手动timer----------------------------------------------
		Timer timer= new Timer();
		timer.scheduleAtFixedRate(new TimerTask() {
			@Override
			public void run() {
				try {
					File file=new File(path);
					File[] files=file.listFiles();
					if(files.length!=0) {
						Set<File> set=new HashSet<>();
						for (File file2 : files) {
							set.add(file2);
						}
						Iterator<File> iterator=set.iterator();
						while(iterator.hasNext()) {
							File file3=iterator.next();
							String fString=path+file3.getName();
							AnalysisEFile analysisEFile=new AnalysisEFile(fString);
							LinkedList<EFileContent> eLinkedList=analysisEFile.AnalysisFile();
							try {
								optEFileService.AnalysisEFile(eLinkedList);
								TimeUnit.SECONDS.sleep(1);
							}  catch (InterruptedException e) {
								e.printStackTrace();
							}  catch (Exception e) {
								e.printStackTrace();
							}
							file3.renameTo(new File(path1+file3.getName()));
							file3.delete();
						}
					}
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		},1000, 60000);
				
	}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值