使用jQuery我将在应用程序中合并音频。我试图通过创建一个名为Audio_types的对象来实现这一目标,该对象具有一个名为soundbits的方法。我一直在使用这篇文章Play an audio file using jQuery when a button is clicked来帮助我完成这项任务。
我的音频文件没有播放。我有几次审查我的代码后,但我无法确定我做错了什么。我创建了一个jsfiddle:http://jsfiddle.net/gD4Dr/1433/
这是一瞥代码。
var Audio_types = {
"mp3": "audio/mpeg",
"mp4": "audio/mp4",
"ogg": "audio/ogg",
"wav": "audio/wav",
soundbits: function (sound) {
var audio_element = document.createElement('audio');
if (audio_element.canPlayType) {
for (var i = 0; i < arguments.length; i++) {
var source_element = document.createElement('source');
source_element.setAttribute('src', arguments[i]);
}
}
if (arguments[i].match(/\.(\w+)$/i)) {
source_element.setAttribute('type', Audio_types[RegExp.$1]);
audio_element.appendChild(source_element);
}
audio_element.load();
audio_element.playclip = function () {
audio_element.currentTime = 0;
audio_element.play();
}
return audio_element;
}
}
var buzz = Audio_types.soundbits( 'http://www.uscis.gov/files/nativedocuments/Track%2093.mp3');
buzz.playclip();
答案 0 :(得分:0)
此解决方案有效,但如果有人有更好的解决方案,请发布。
$(document).ready(function(){
var Audiotypes = {
"mp3": "audio/mpeg",
"mp4": "audio/mp4",
"ogg": "audio/ogg",
"wav": "audio/wav",
soundbits: function (sound) {
var audio_element = document.createElement('audio')
if (audio_element.canPlayType) {
for (var i = 0; i < arguments.length; i++) {
var source_element = document.createElement('source')
source_element.setAttribute('src', arguments[i])
if (arguments[i].match(/\.(\w+)$/i)) source_element.setAttribute('type', Audiotypes[RegExp.$1])
audio_element.appendChild(source_element)
audio_element.load()
audio_element.currentTime = 0
audio_element.play()
}
}
}
}
var buzz = Audiotypes.soundbits('http://www.uscis.gov/files/nativedocuments/Track%2093.mp3');
buzz.play();
});