JavaScript 汉字计数器:计算文本长度及配音时长
<body>
<h1>汉字检测器</h1>
<div class="input-box">
<textarea class="textarea" placeholder="请输入需要检测的汉字"></textarea>
<div class="btn-wrap">
<button class="btn check-btn">检测</button>
<button class="btn clear-btn">清空</button>
</div>
</div>
<div class="output"></div>
<script src="https://cdn.jsdelivr.net/npm/text-to-speech-js/dist/text-to-speech.min.js"></script>
<script>
const textarea = document.querySelector('.textarea');
const checkBtn = document.querySelector('.check-btn');
const clearBtn = document.querySelector('.clear-btn');
const output = document.querySelector('.output');
<pre><code>checkBtn.addEventListener('click', async () => {
const content = textarea.value.trim();
const reg = /[一-龥]/g;
const result = (content.match(reg) || []).length;
output.innerText = `输入的文本中共包含 ${result} 个汉字`;
// 计算时间长度
const options = {
rate: 0.8, // 语速
text: content,
};
const speech = new TextToSpeechJS();
const { duration } = await speech.getDuration(options);
const time = duration.toFixed(2);
output.innerText += `\n如果配音,大概需要 ${time} 分钟`;
});
clearBtn.addEventListener('click', () => {
textarea.value = '';
output.innerText = '';
});
</code></pre>
</script>
</body>
<p>需要配合其他工具才能计算字数对应的时间长度。具体可以使用第三方库如'text-to-speech-js'来将文本转成语音,然后通过计算文本长度和语速来计算对应的时间长度。以下是示例代码:</p>
原文地址: https://www.cveoy.top/t/topic/mO90 著作权归作者所有。请勿转载和采集!