我正在尝试一个接一个地播放一个 mp3 文件(一个作为介绍),但它不起作用.我该怎么做
i am trying to play one mp3 file after another (one as intro) but it won't work. How can i do this?
我正在尝试为mp3文件使用介绍声音。播放前奏后,原始曲目应开始播放。我的意思是原始MP3在介绍结束后立即播放。在这里我有这个:
<script type="text/javascript" src="js/jquery.min.js"></script>
<audio id='top' onended="playOrg();" preload='none' src='http://www.sounddogs.com/previews/59/mp3/607322_SOUNDDOGS__th.mp3' type='audio/mpeg'> </audio>
<a href='#' class='btn' id='audioControl'> START </a>
这里是javascript部分:
<script type="text/javascript">
var yourAudio = document.getElementById('top');
var ctrl = document.getElementById('audioControl');
ctrl.onclick = function () {
var pause = ctrl.innerHTML === 'STOP';
$('.btn').html('START');
$('audio').trigger('pause');
ctrl.innerHTML = pause ? 'START' : 'STOP';
var method = pause ? 'pause' : 'play';
yourAudio [method]();
return false; };
function playOrg(){
yourAudio.setAttribute('onended','orgPlayed()');
yourAudio.src='http://www.sounddogs.com/sound-effects/59/mp3/606540_SOUNDDOGS__sf.mp3';
yourAudio.play();
console.log('playOrg()');
}
function orgPlayed(){
yourAudio.setAttribute('onended','playOrg()');
yourAudio.src='http://www.sounddogs.com/previews/59/mp3/607322_SOUNDDOGS__th.mp3';
yourAudio.pause();
yourAudio.currentTime = 0;
console.log('orgPlayed()');
}
</script>
当我按下开始文件播放并在结束时调用 playOrg() 函数女巫应该更改一些属性并应该播放原始曲目。然后第二个文件应该播放,这次应该调用 orgPlayed() 函数并设置属性,以便它为另一个播放做好准备。
所以我想对我在网站上的所有曲目使用介绍曲目。但我做不到。我感谢任何即将到来的帮助。
PS:实际上,在我的原始代码中,所有轨道都有一个循环,但我在这里总结了它。请不要问为什么我找不到更好的mp3测试文件:)。
我发现了我的问题。我没有使用"currentTime=0"重新加载新曲目,而是尝试使用"load()"重新加载,现在它可以工作了。我想有时我们需要在这些问题上睡觉:)。感谢大家;)。
<audio id='top' onended="playOrg();" preload='none' src='top10/intro/1.mp3' type='audio/mpeg'> </audio>
<a href='#' class='btn' id='audioControl'>START</a>
<script type="text/javascript">
var yourAudio = document.getElementById('top');
var ctrl = document.getElementById('audioControl');
ctrl.onclick = function () {
if (ctrl.innerHTML=='START') {
ctrl.innerHTML='STOP';
yourAudio.play();
}else if (ctrl.innerHTML=='STOP'){
ctrl.innerHTML='START';
yourAudio.pause();
}
}
function playOrg(){
var myPlayer= document.getElementById('top');
myPlayer.setAttribute('onended','orgPlayed()');
myPlayer.src='top10/tarkan.mp3';
myPlayer.pause();
myPlayer.load();
myPlayer.play();
}
function orgPlayed(){
var myPlayer= document.getElementById('top');
myPlayer.setAttribute('onended','playOrg()');
myPlayer.src='top10/intro/1.mp3';
myPlayer.pause();
myPlayer.load();
ctrl.innerHTML='START';
}
</script>
现在我意识到了解决这个问题的另一种方法。 我可以使用两个音频标签,一个是介绍源,另一个是原始源。 然后在第一个结束后,我可以使用函数或直接播放第二个 onended="document.getElementById('top2').play();"
我的意思是这样的:
<audio id='top1' onended="play second(with a function or directly)" preload='none' src='intro' type='audio/mpeg'> </audio>
<audio id='top2' onended="make ready for another play (with a function or directly)" preload='none' src='original' type='audio/mpeg'> </audio>
<a href='#' class='btn' id='audioControl'>START</a>
相关文章:
- 我想重定向点击,然后更改按钮文本,我该怎么做
- I'我试图在我的网页上动态地上下移动元素.我该怎么做
- 我尝试将引导下拉按钮添加到 但下拉菜单不起作用.我该怎么做
- 我该怎么做才能防止在用户单击后退按钮时出现咆哮消息
- 我该怎么做;仅百分比”;Regex工作
- 我该怎么做[硬编码号码].[函数调用]在Javascript中工作
- 我正在尝试一个接一个地播放一个 mp3 文件(一个作为介绍),但它不起作用.我该怎么做
- 我该怎么做才能创建一个永远有效的 HTML 页面
- 我希望我的视频在点击时更改为另一个视频,我该怎么做
- jquery/js - 我有一堆值(字符串).我想通过 POST 将其发送到另一个 URL,我该怎么做
- 手风琴我想更改第一个 li 边框半径和最后一个 li 边框半径,我该怎么做请帮助我.
- 此代码有效,但应该是一个循环.我该怎么做
- 我希望让我的代码验证一个字段,以确保它是四位数.我该怎么做
- 我该怎么做呢?我试图使在javascript图像是一个按钮
- 我有一个元素在鼠标悬停时显示,现在我想在鼠标离开时隐藏它.我该怎么做呢?
- 为孩子们创建一个JavaScript拖放编辑器,想要包含JSHint来检查语法-我该怎么做呢?
- 我需要变量之间传递一个.js文件,一个.html和.css文件.我该怎么做呢?
- 我'我试图使用onclick事件在循环中定义一个函数,但它不'不像我期望的那样工作.我该怎么做呢?
- 我想使用jss页面重定向代码将值发送到另一个页面,我该怎么做呢
- 我想和AngularJs一起做一个常规选择列表.有一个预选选项,我该怎么做