繁体   English   中英

尝试使用 JavaScript 播放音频。 但不是在玩吗?

[英]Trying to play audio using JavaScript. But is not playing?

所以我只是为了好玩而尝试制作一个广播电台项目。 一开始它会播放一个音频文件,上面写着:“欢迎来到 97.5 节拍”之类的,然后它会随机选择一首歌曲,结束后它会播放一个音频文件,上面写着“那是很棒的节拍。移动继续下一个!” 它会播放不同的随机歌曲

精彩部分:代码! 我试过这样做:

var audio = new Audio("test.mp3");
audio.play();

它只是不会播放任何东西? 使用 JavaScript 播放音频最简单、最快的方法是什么? 请不要涉及 HTML。

编辑:尝试使用 Howler.js 但仍然什么都不做? 这是代码:

//I moved it
var sound = new Howl({
  urls: ['/audio/test.mp3']
}).play();

这是目录:C:\Websites\infiniteradiostation\audio\test.mp3

您发布的代码看起来不错,请检查javascript控制台是否没有错误,并确保文件路径正确。

除此之外,您还可以使用多个选项来增强功能。

SoundManager2

SoundManager2是一个出色的库,提供大量功能(如果您愿意,还可以向后兼容)。

示例代码将是这样的。

<script src="/path/to/soundmanager2.js"></script>
<script>
soundManager.setup({
  url: '/path/to/swf-files/',
  onready: function() {
    var mySound = soundManager.createSound({
      id: 'aSound',
      url: '/path/to/an.mp3'
    });
    mySound.play();
  }
});
</script>

Howler.js

咆哮也是一个值得一看的优秀库,它的示例代码将是这样的

var sound = new Howl({
  urls: ['sound.mp3', 'sound.ogg', 'sound.wav'],
  autoplay: true,
  loop: true,
  volume: 0.5,
  onend: function() {
    alert('Finished!');
  }
});

该代码应该工作。 您正在使用哪个浏览器?

使用更多选项的替代方法是使用此库http://goldfirestudios.com/blog/104/howler.js-Modern-Web-Audio-Javascript-Library

您编写的代码是正确的,但问题是大多数浏览器(包括 chrome、edge 等)不允许自动播放声音,除非用户与之交互。 这样做是为了增强用户体验。 要验证您的代码是否正在运行,您可以转到浏览器的控制台并运行代码audio.play()并且应该播放预期的音频。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM