js中怎么让音频重复播放
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中怎么让音频重复播放相关的知识,希望对你有一定的参考价值。
然后这个是主要的js方法:
function Orderprocessing1()
var vid = document.getElementById("myVideo");//获取音频对象
var start = 0;//定义循环的变量
var times=3;//定于循环的次数
vid.addEventListener("ended",function()
vid.play();//启动音频,也就是播放
start++;//循环
start == times && vid.pause();//也就是当循环的变量等于次数的时候,就会终止循环并且关掉音频
);
vid.play();//启动音频,用于第一次启动
如果你想调用这个方法可以写一个click事件,或者写个js方法调用:
$(function()
setInterval("Orderprocessing1()",60000);//每隔1分钟自动调用一次启动音频的方法
);
本人也是菜鸟一个,写这些只为整理下来以后自己看
<audio id="aud" controls="controls">
<source src="Unit 01.mp3" type="audio/mpeg">
</audio>
<button onclick="cltA()" type="button" title="快捷键a">A</button>
<button onclick="cltB()" type="button" title="快捷键b">B</button>
<button onclick="release()" type="button" title="快捷键r">恢复</button>
</div>
A是循环的开始,B是循环结束的地方,按恢复按钮时,会继续播放
<script>
var myAud = document.getElementById("aud");
var start, end, clock;
function cltA()
if (start == 0)
start = 0;
else
start = myAud.currentTime - 1;
function cltB()
end = myAud.currentTime;
if (end - start > 2)
clearInterval(clock);
let temp = Math.floor((end - start) * 1000);
myAud.currentTime = start;
clock = setInterval(function ()
myAud.currentTime = start;
, temp);
function release()
clearInterval(clock);
myAud.currentTime = end;
window.onload = function ()
event = event || window.event;
document.onkeydown = function (event)
if (event.keyCode == 65)
cltA();
else if (event.keyCode == 66)
cltB();
else if (event.keyCode == 82)
release();
else
</script>本回答被提问者采纳
使用 AVAudioPlayer 重复音频播放
【中文标题】使用 AVAudioPlayer 重复音频播放【英文标题】:Repeating Audio playback with AVAudioPlayer 【发布时间】:2020-04-05 14:31:48 【问题描述】:我正在使用 AVAudioPlayer,并希望用户可以在循环播放后重新开始播放。对于用户反馈,我使用了 UIAlertController,但我仍然很难使用 AVAudioPlayer 完成重播。我希望用户可以随心所欲地选择重播,直到他选择否。
这是我到目前为止的代码,但是如果用户选择“是”该怎么办...请参阅下面代码中的注释。
// schedule the audio file
[self->_playerNode scheduleFile:self->_file atTime:nil completionHandler:^
dispatch_async(dispatch_get_main_queue(), ^
UIAlertController * alert= [UIAlertController
alertControllerWithTitle:@"End of file"
message:@"play again?"
preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction* yes = [UIAlertAction
actionWithTitle:@"YES"
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action)
// WHAT TO DO HERE????
[alert dismissViewControllerAnimated:YES completion:nil];
];
UIAlertAction* no = [UIAlertAction
actionWithTitle:@"NO"
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action)
NSLog(@"Stop");
[self->_engine stop];
[session setActive:false error:nil];
[alert dismissViewControllerAnimated:YES completion:nil];
];
[alert addAction:yes];
[alert addAction:no];
[self presentViewController:alert animated:YES completion:nil];
);
];
// playback the audio file
[self->_playerNode play];
感谢您的帮助!
【问题讨论】:
【参考方案1】:由于没有人有任何其他建议,我将回答我自己的问题:
我找不到递归加载播放器的方法,所以我读出了文件的长度并启动了一个计时器:
NSTimeInterval seconds = self->_file.length / SAMPLERATE;
您还需要处理应用程序进入后台模式并停止+恢复计时器的情况!
【讨论】:
以上是关于js中怎么让音频重复播放的主要内容,如果未能解决你的问题,请参考以下文章