基于StackExchange的代码,我编写了打开wav文件的代码。wav文件本身是一个有效的文件,因为它可以与我的Python程序正常配合使用。但是javascript函数不起作用。声音文件与我的html文件位于同一文件夹中。
<div id="play_or_pause_or_exit">
<button onclick="playAudio()" type="button" id="play" style="display:inline-block;">Play table</button>
<button onclick="pauseAudio()" type="button" id="pause" style="display:inline-block;">Pause table</button>
<button onclick="cancelAudio()" type="button" id="cancel" style="display:inline-block;">Exit tables</button>
<script>
var audio;
function setupAudio(){
var audio = new Audio('plus1_071016_Alex.WAV');
}
function playAudio(){
audio.play();
}
function pauseAudio(){
audio.pause();
}
function cancelAudio(){
audio.pause();
sound.currentTime = 0;
}
</script>
</body>
</html>
任何帮助都将不胜感激。
您没有入口点。。。什么是setupAudio()?这会让你振作起来
<html>
<head>
<title>Test</title>
</head>
<body>
<script>
// var audio = new Audio("plus1_071016_Alex.WAV");
// var audio = new Audio("http://glpjt.s3.amazonaws.com/so/av/a12.mp3");
var audio = new Audio("https://s3.amazonaws.com/audio-experiments/examples/elon_mono.wav");
function playAudio() {
audio.play();
}
function pauseAudio() {
audio.pause();
}
function cancelAudio() {
audio.pause();
audio.currentTime = 0;
}
</script>
<body>
<div id="play_or_pause_or_exit">
<button onclick="playAudio()" type="button" id="play" style="display:inline-block;">Play/Resume table</button>
<button onclick="pauseAudio()" type="button" id="pause" style="display:inline-block;">Pause table</button>
<button onclick="cancelAudio()" type="button" id="cancel" style="display:inline-block;">Exit tables</button>
</body>
</html>
查看yout脚本的第一行:
var audio;
function setupAudio(){
var audio = new Audio('plus1_071016_Alex.WAV');
}
您正在将具有同名变量的全局变量音频屏蔽到setupAudio函数中。这样,助手函数playAudio、pauseAudio和取消音频将无法访问您的Audio对象。我假设在您的代码中的某个地方,在您的示例中未显示,您将调用setupAudio函数。
一个快速而真实的肮脏解决方案:将var关键字删除到函数中,瞧:您污染了您的全局环境,但您的代码应该可以工作。
我将使用一个简单的模块模式,遵循稍微不同的路线:
我更喜欢将样式设置在头部的某个位置,远离元素标记:它们会分散我的注意力
<style>
#play_or_pause_or_exit > button { display: inline-block; }
</style>
我已经重新格式化了您的按钮标签,以适应stackoverflow上狭窄的文本区域-P、 删除了内联样式并添加了禁用属性,以防止用户在音频准备就绪之前单击按钮。
<div id="play_or_pause_or_exit">
<button onclick="Player.play()"
type="button"
id="play"
disabled>Play/Resume table</button>
<button onclick="Player.pause()"
type="button"
id="pause"
disabled>Pause table</button>
<button onclick="Player.stop()"
type="button"
id="cancel"
disabled>Exit tables</button>
</div>
在身体底部的某个地方,我会把这个脚本:
var Player = (function (audiourl) {
var audio = new Audio(audiourl);
[].forEach.call(
document.querySelectorAll("#play_or_pause_or_exit > button"),
function(x) {
x.disabled=false;
});
return {
"play": function() { audio.play(); },
"pause": function() { audio.pause(); },
"stop": function() {
audio.pause();
audio.currentTime = 0;
},
};
})("plus1_071016_Alex.WAV");
Player now是一个IIFE(立即调用的函数表达式),它创建一个对象,用播放、暂停和停止方法封装您的音频资源以控制资源。
请注意,音频url现在位于声明的底部,一旦定义了生成函数,它就会被加载,正如您可能从函数表达式名称猜到的那样。
全球环境仍然受到污染,但只有一个对象封装了助手功能和要发挥的资源。单点访问与四个功能和一个资源变量。
问题内容: 我正在用Java 做辫子。如果倒带时间,声音会向后播放。如何向后播放WAV文件?也许有像这样的流?在Braid网站上,您可以看到我的意思。 更新: _ 解决! 看到我自己的帖子。_ 问题答案: !!!!!! 我自己解决了这个问题(14岁!!), 我写了这个课: 然后:
问题内容: 我试图互相播放一些WAV文件。我尝试了这种方法: 但这同时发挥了所有作用。所以我需要一个看起来像这样的函数: 向量包含文件,例如:, 我已经寻找了四个多小时,但似乎找不到有效的解决方案:( 我还尝试将WAV文件连接到一个AudioInputStream。它不会产生任何编译器错误,但是声音完全混乱了。码: 编辑 即使我尝试将前两个文件放在一起,也会失败: 问题答案: 这段代码有点底层,但
问题内容: 我正在尝试使用Java播放* .wav文件。我希望它执行以下操作: 按下按钮时,播放一声短促的哔声。 我已经用谷歌搜索了,但是大多数代码都没有用。有人可以给我一个简单的代码片段来播放.wav文件吗? 问题答案: 没有Java反射的解决方案 , ) Java反射会降低性能。跑步:
问题内容: 我尝试pygame播放wav文件,如下所示: 但是它改变了声音,我不知道为什么!我阅读了此链接解决方案,但无法解决播放wave文件的问题! 对于此解决方案,我不知道应该导入什么? 对于这个解决方案/ dev / dsp在新版本的linux中不存在: 而当我尝试pyglet它给我这个错误: 问题答案: 您可以使用PyAudio。我的Linux上的一个示例可以正常工作:
我目前正在尝试学习音频编程。我的目标是打开一个wav文件,提取所有内容并使用RtAudio播放示例。 我制作了一个WaveLoader类,让我提取样本和元数据。我用这本指南来做这件事,我用010编辑器检查了一切都是正确的。这是010编辑器的快照,显示了结构和数据。 这就是我在WaveLoader类中存储原始样本的方式: 如果我打印出我得到的每个样本:1, -3, 4, -5... 问题是,我不确定
我正在使用Jplayer插件来播放音频文件。它可以播放mp3文件,但不支持wav音频文件。我搜索了原因,知道wav音频文件应该是特定的格式,可以用flash或HTML5播放。但是我的wav文件的比特率是64kbps。如何播放这种格式的wav音频文件,例如将wav转换为合适的格式并播放该文件。是否有任何插件可以播放任何格式的wav文件,或者有插件可以将wav转换为合适的格式,以便能够播放文件或任何其