找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 18682|回复: 5

【完结】50元求脚本顺序读出来spx音频文件

  [复制链接]
发表于 2019-11-17 08:52:36 | 显示全部楼层 |阅读模式
本帖最后由 lxh623 于 2019-11-20 20:44 编辑

<x-pr><img src="/playsound.png"><a href="sound://báo.spx"><a href="sound://biǎn.spx"></x-pr>

有时候会更多的<a href,怎样用java,使得点击图标让一行顺序读出?

这样的行首都有<x-pr> 。
图标也许在最后。
<x-pr><a href="sound://báo.spx"><a href="sound://biǎn.spx"><img src="/playsound.png"></x-pr>
发表于 2019-11-17 15:46:26 | 显示全部楼层
用java 写脚本? JS? 是不是想让 每行 结果变成:
  1. <x-pr><img src="/playsound.png">放在前面</img><a href="sound://báo.spx">这是第一个按原顺序放置</a><a href="sound://biǎn.spx">这是第二个按原顺序放置</a></x-pr>
复制代码
 楼主| 发表于 2019-11-17 20:27:57 | 显示全部楼层
本帖最后由 lxh623 于 2019-11-17 20:29 编辑

回复 2# xczxczxcz
spx是个音频文件,java能不能让这些文件(一行一个到三十个)按照顺序读出来,只点击一下。
谢谢!
发表于 2019-11-17 20:54:05 | 显示全部楼层
这个<script>放到<body>最后试试
  1. <script>
  2.     (function () {
  3.       var audioPlaying = null;
  4.       function audio_ended(e) {
  5.         var nodeNext = e.target.nextElementSibling;
  6.         if (nodeNext && nodeNext.nodeName.toLowerCase() == 'audio') {
  7.           nodeNext.play();
  8.         } else {
  9.           audioPlaying = null;
  10.         }
  11.       }
  12.       function audio_play(e) {
  13.         audioPlaying = e.target;
  14.       }
  15.       function xpr_click(e) {
  16.         if (audioPlaying && !audioPlaying.paused) {
  17.           audioPlaying.pause();
  18.         }
  19.         e.currentTarget.getElementsByTagName('audio')[0].play();
  20.       }
  21.       var xprlist = document.getElementsByTagName('x-pr');
  22.       for (var i = 0; i < xprlist.length; i++) {
  23.         var xpr = xprlist[i];
  24.         var soundlist = xpr.getElementsByTagName('a');
  25.         for (var j = 0; j < soundlist.length; j++) {
  26.           var nodeAudio = document.createElement('audio');
  27.           nodeAudio.setAttribute('src', soundlist[j].getAttribute('href').replace(/^sound:\/\//i, ''));
  28.           nodeAudio.addEventListener('play', audio_play, false);
  29.           nodeAudio.addEventListener('ended', audio_ended, false);
  30.           xpr.appendChild(nodeAudio);
  31.         }
  32.         xpr.addEventListener('click', xpr_click, false);
  33.       }
  34.     })();
  35.   </script>
复制代码

评分

参与人数 1技术 +1 收起 理由
lxh623 + 1 谢谢!请查收!

查看全部评分

 楼主| 发表于 2019-11-18 09:10:58 | 显示全部楼层
本帖最后由 lxh623 于 2019-11-18 09:13 编辑

回复 4# flashercs
我是准备做一个词典。
下面是例子。和词典打包工具。词典用mdict或者手机上深蓝词典打开。
暂时没有做到。
或者我做成下面这行的样子。能不能点击任何一个都从头连读。
<x-pr><a href="sound://duyin/báo.spx">báo</a><a href="sound://duyin/biǎn.spx">biǎn</a></x-pr><br>


链接:https://pan.baidu.com/s/1GksJSNB0VlvDI6cfLNZzbg
提取码:uw2z

谢谢!
发表于 2019-11-18 19:19:38 | 显示全部楼层
本帖最后由 flashercs 于 2019-11-18 19:28 编辑

回复 5# lxh623


链接:https://pan.baidu.com/s/1O20VZ4vQ9vsjbBHOn-eHcw
提取码:s14r

生成词典 "转换后的2.mdx";
读音速度快慢,可以调节.js脚本第6行delay的数值,单位是毫秒,默认是1.5s间隔.
  1. delay: 1500,//playsound interval in ms
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 04:13 , Processed in 0.018677 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表