• js播放mp3,并且读取srt字幕文件,展示字幕


    下面是gpt生成的代码,能跑,但是性能gpt是不考虑的,自行斟酌

    1. html>
    2. <html>
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>MP3播放器title>
    6. head>
    7. <body>
    8. <h1>MP3播放器h1>
    9. <audio id="audioPlayer" controls>
    10. <source src="a.mp3" type="audio/mpeg">
    11. Your browser does not support the audio element.
    12. audio>
    13. <div id="subtitleContainer">div>
    14. <script>
    15. // 读取SRT字幕文件
    16. function loadSubtitles() {
    17. fetch('a.srt')
    18. .then(response => response.text())
    19. .then(data => {
    20. const subtitleContainer = document.getElementById('subtitleContainer');
    21. subtitleContainer.innerHTML = '';
    22. const subtitleLines = data.split('\n\n');
    23. subtitleLines.forEach(line => {
    24. if(line==="")return;
    25. const subtitleParts = line.split('\n');
    26. const startTime = subtitleParts[1].split(' --> ')[0];
    27. const text = subtitleParts.slice(2).join('
      '
      );
    28. const subtitleElement = document.createElement('span');
    29. subtitleElement.innerHTML = text+",";
    30. //subtitleElement.style.display = 'none';
    31. subtitleContainer.appendChild(subtitleElement);
    32. const audioPlayer = document.getElementById('audioPlayer');
    33. audioPlayer.addEventListener('timeupdate', () => {
    34. const currentTime = audioPlayer.currentTime;
    35. if (currentTime >= convertTimeToSeconds(startTime)) {
    36. subtitleElement.style.backgroundColor="rgb(255 243 156)";
    37. } else {
    38. subtitleElement.style.backgroundColor="";
    39. }
    40. });
    41. });
    42. });
    43. }
    44. // 将时间转换为秒
    45. function convertTimeToSeconds(time) {
    46. const timeParts = time.split(':');
    47. const hours = parseInt(timeParts[0]);
    48. const minutes = parseInt(timeParts[1]);
    49. const seconds = parseFloat(timeParts[2].replace(',', '.'));
    50. return hours * 3600 + minutes * 60 + seconds;
    51. }
    52. // 加载字幕和音频
    53. window.addEventListener('load', () => {
    54. loadSubtitles();
    55. });
    56. script>
    57. body>
    58. html>

  • 相关阅读:
    天软特色因子看板(2023.10 第04期)
    倒计数数字旋转特效
    【mcuclub】四相五线步进电机
    springboot整合百度富文本编辑器ueditor实现图片上传和文件上传以及回显
    BSV 上用于通用计算的隐私非交互式赏金
    有关动态规划的相关优化思想
    强化学习与ChatGPT:快速让AI学会玩贪食蛇游戏!
    阿里拆了中台,中台还有未来吗?
    VSCode新建Vue项目
    网页html产生随机MAC地址
  • 原文地址:https://blog.csdn.net/hongkid/article/details/140384599