使用 switch() 函数上的事件处理程序重置音频循环
Using event handler on switch() function to reset audio loop
我正在使用switch()在按下某些键时播放声音,但我想在松开键时让声音循环停止并重置。这是我的代码:
$(function() {
$(document).on("keydown", function(key) {
switch(parseInt(key.which, 10)) {
case 65:
$("#sound").get(0).play();
break;
case 83:
$("#sound2").get(0).play();
break;
case 68:
$("#sound3").get(0).play();
break;
case 70:
$("#sound4").get(0).play();
break;
};
}).on("keyup", function() {
$(this).pause();
$(this).currentTime=0;
});
});
我认为我的问题在于在 keyup 处理程序中使用 $(this),但我不想将每个声音 id 指定为变量,因为我最终会有很多声音 id。有没有办法简单地做到这一点?
感谢您的帮助!
keyup 处理程序中的this
引用文档对象,您可以尝试保留对当前播放的声音元素的引用
$(function() {
var playing;
$(document).on("keydown", function(key) {
playing = undefined;
switch(parseInt(key.which, 10)) {
case 65:
playing = $("#sound").get(0);
break;
case 83:
playing = $("#sound2").get(0);
break;
case 68:
playing = $("#sound3").get(0);
break;
case 70:
playing = $("#sound4").get(0);
break;
};
if(playing){
playing.play();
}
}).on("keyup", function() {
if(playing){
playing.pause();
playing.currentTime=0;
playing = undefined;
}
});
});
相关文章:
- 如何使用Bootstrap和Heroku为Rails应用程序添加隐藏的播放音频
- 如何在windows8地铁应用程序开发中将单词转换为音频
- 音频获胜'不要在iOS Cordova Phonegap应用程序中播放
- 英特尔 XDK:播放不在应用程序文件夹中的音频
- iOS 中的 Ionic 应用程序无法使用 cordova 插件媒体播放本地音频
- 在 wavesurfer 中更改音频 url.js加载会导致 AngularJS 应用程序中的内存泄漏
- 使用 switch() 函数上的事件处理程序重置音频循环
- 为什么我的 PeerJS 音频聊天应用程序不起作用
- 桌面音频捕获 不适用于 chrome 应用程序
- 用于HTML5音频问题的javascript填充程序
- 在流星应用程序中加载音频文件
- Internet Explorer 10:<音频>“播放”事件处理程序仅发生一次
- JavaScript + HTML5 音频播放器 - 停止缓冲,事件处理程序问题
- 如何在使用 PhoneGap/Cordova 构建的 Android 应用程序中单击按钮时播放音频
- 在我的应用程序中播放音频
- 从Safari iPad中的html5 web应用程序上传音频文件
- html5应用程序音频不工作
- 如何在脸书上分享视频/音频文件从iPhone应用程序创建使用钛合金appcelerator
- 为视频/音频应用程序(WebRTC API)选择信号协议
- 混合应用程序:音频不在Android上播放