标签: html5-audio

用Javascript播放音频?

我正在用HTML5和Javascript制作游戏.

我怎么能通过Javascript播放游戏音频?

javascript html5 html5-audio

629
推荐指数
12
解决办法
74万
查看次数

HTML5音频停止功能

我点击导航中的每个链接播放一个小音频剪辑

HTML代码:

<audio tabindex="0" id="beep-one" controls preload="auto" >
    <source src="audio/Output 1-2.mp3">
    <source src="audio/Output 1-2.ogg">
</audio>
Run Code Online (Sandbox Code Playgroud)

JS代码:

$('#links a').click(function(e) {
    e.preventDefault();
    var beepOne = $("#beep-one")[0];
    beepOne.play();
});
Run Code Online (Sandbox Code Playgroud)

它到目前为止工作正常.

问题是当声音片段已经运行并且我点击任何链接时没有任何反应.

我试图通过点击链接停止已播放的声音,但在HTML5的Audio API中没有直接的事件

我尝试了下面的代码,但它没有用

$.each($('audio'), function () {
    $(this).stop();
});
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

html5 html5-audio

135
推荐指数
7
解决办法
20万
查看次数

HTML5录制音频到文件

我最终想要做的是从用户的麦克风录制,并在完成后将文件上传到服务器.到目前为止,我已设法使用以下代码为元素创建流:

var audio = document.getElementById("audio_preview");

navigator.getUserMedia  = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
navigator.getUserMedia({video: false, audio: true}, function(stream) {
   audio.src = window.URL.createObjectURL(stream);
}, onRecordFail);

var onRecordFail = function (e) {
   console.log(e);
}
Run Code Online (Sandbox Code Playgroud)

我如何从那里,到录制到文件?

javascript html5 audio-recording html5-audio

117
推荐指数
8
解决办法
20万
查看次数

如何在网站上播放通知声音?

当某个事件发生时,我希望我的网站向用户播放简短的通知声音.

声音应该自动启动(瞬间)当网站被打开.相反,它应该通过JavaScript按需播放(当某个事件发生时).

重要的是,这也适用于旧浏览器(IE6等).

所以,基本上有两个问题:

  1. 我应该使用什么编解码器?
  2. 嵌入音频文件的最佳做法是什么?(<embed>vs. <object>vs. vs. vs. <audio>)

html javascript audio notifications html5-audio

95
推荐指数
6
解决办法
11万
查看次数

为什么Firefox不支持<audio>中的MP3文件格式

有没有特殊原因导致Firefox不支持<audio>元素中的MP3文件播放,只有Ogg格式?

这是许可问题吗?

是否有任何可能的未来实施计划?

是否有可能开发一个插件来支持<audio>元素中的MP3播放?

firefox html5 mp3 html5-audio

90
推荐指数
5
解决办法
8万
查看次数

HTML5音频循环

我最近一直在玩HTML5音频,虽然我可以让它播放声音但它只播放一次.无论我尝试什么(设置属性,事件处理程序等),我似乎无法让它循环.

这是我正在使用的基本代码:

//myAudio is declared at a global scope, so it doesn't get garbage collected.
myAudio = new Audio('someSound.ogg');
myAudio.loop = true;
myAudio.play();
Run Code Online (Sandbox Code Playgroud)

我正在使用Chrome(6.0.466.0 dev)和Firefox(4 beta 1)进行测试,两者似乎都乐于忽略我的循环请求.有任何想法吗?

更新:现在所有主流浏览器都支持循环属性.

javascript html5 html5-audio

74
推荐指数
4
解决办法
14万
查看次数

设置HTML5音频位置

如何在HTML5音频元素中跳转到某些时间偏移?

他们说你可以简单地设置他们的currentTime财产(强调我的):

currentTime获取时,该属性必须返回当前播放位置,以秒为单位表示.在设置时,如果媒体元素具有当前媒体控制器,则它必须抛出INVALID_STATE_ERR异常; 否则,用户代理必须寻找新值(这可能引发异常).

唉,它似乎不起作用(我需要在Chrome中).

有类似的问题,但没有答案.

javascript google-chrome html5-audio

62
推荐指数
8
解决办法
8万
查看次数

将音频从Node.js服务器流式传输到HTML5 <audio>标签

我一直在尝试使用Node.js中的二进制流,令我惊讶的是,实际上有一个工作演示,即使用节点无线电流获取Shoutcast流并使用分块编码将其推送到HTML5元素.但它只适用于Safari!

这是我的服务器代码:

var radio = require("radio-stream");
var http = require('http');
var url = "http://67.205.85.183:7714";
var stream = radio.createReadStream(url);

var clients = [];

stream.on("connect", function() {
  console.error("Radio Stream connected!");
  console.error(stream.headers);
});


// When a chunk of data is received on the stream, push it to all connected clients
stream.on("data", function (chunk) {
    if (clients.length > 0){
        for (client in clients){
            clients[client].write(chunk);
        };
    }
});

// When a 'metadata' event happens, usually a new song is starting.
stream.on("metadata", function(title) {
  console.error(title);
}); …
Run Code Online (Sandbox Code Playgroud)

streaming shoutcast audio-streaming node.js html5-audio

51
推荐指数
1
解决办法
3万
查看次数

如何在chrome上制作音频自动播放

音频自动播放工作在Mozilla,微软边缘和旧的谷歌浏览器,但不是新的谷歌铬.他们阻止了自动播放.有没有办法让它在谷歌浏览器中自动播放?

html5 google-chrome html5-audio

50
推荐指数
8
解决办法
11万
查看次数

如何在JavaScript中同步播放音频文件?

我正在制作一个程序,将文本转换为莫尔斯电码音频.

说我输入sos.我的程序将把它变成数组[1, 1, 1, 0, 2, 2, 2, 0, 1, 1, 1].哪里s = dot dot dot(或1,1,1),和o = dash dash dash(或2,2,2).这部分很容易.

接下来,我有两个声音文件:

var dot = new Audio('dot.mp3');
var dash = new Audio('dash.mp3');
Run Code Online (Sandbox Code Playgroud)

我的目标是有一个功能,dot.mp3当它看到a时1,dash.mp3当它看到a时会播放,并在看到a 2时暂停0.

以下类型/有时/有时可行,但我认为它存在根本缺陷,我不知道如何修复它.

function playMorseArr(morseArr) {
  for (let i = 0; i < morseArr.length; i++) {
    setTimeout(function() {
      if (morseArr[i] === 1) {
        dot.play();
      }
      if (morseArr[i] === …
Run Code Online (Sandbox Code Playgroud)

javascript synchronous playback html5-audio

44
推荐指数
3
解决办法
3101
查看次数