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分钟自动调用一次启动音频的方法
);

本人也是菜鸟一个,写这些只为整理下来以后自己看

参考技术A <div class="box">
<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中怎么让音频重复播放的主要内容,如果未能解决你的问题,请参考以下文章

想用怎么用js实现播放音频。

如何用C语言播放一段音频呢

如何让用户选择 AVAudioPlayer 播放音频的循环次数

使用 AVAudioPlayer 重复音频播放

html5中播放音频时怎么让文字滚动?

请求自动播放音频文件的权限