我一直在玩Web Audio API,我正在尝试加载一首歌的多个部分并将它们附加到一个新的ArrayBuffer,然后使用该ArrayBuffer将所有部分作为一首歌播放.在下面的例子中,我使用相同的歌曲数据(这是一个小循环)而不是歌曲的不同部分.
问题是它仍然只播放一次而不是两次,我不知道为什么.
function init() {
/**
* Appends two ArrayBuffers into a new one.
*
* @param {ArrayBuffer} buffer1 The first buffer.
* @param {ArrayBuffer} buffer2 The second buffer.
*/
function appendBuffer(buffer1, buffer2) {
var tmp = new Uint8Array(buffer1.byteLength + buffer2.byteLength);
tmp.set( new Uint8Array(buffer1), 0);
tmp.set( new Uint8Array(buffer2), buffer1.byteLength);
return tmp;
}
/**
* Loads a song
*
* @param {String} url The url of the song.
*/
function loadSongWebAudioAPI(url) {
var request = new XMLHttpRequest();
var …Run Code Online (Sandbox Code Playgroud) javascript concatenation html5-audio arraybuffer web-audio-api
我有以下块以HTML注释开头和结尾:
<!--source scripts-->
<script type="text/javascript" src="/assets/js/namespaces.js"></script>
<script type="text/javascript" src="/assets/js/main.js"></script>
<script type="text/javascript" src="/assets/js/header.js"></script>
<script type="text/javascript" src="/assets/js/headerPremiumForm.js"></script>
<script type="text/javascript" src="/assets/js/bootstrap.js"></script>
<!--end source scripts-->
Run Code Online (Sandbox Code Playgroud)
我创建了一个ant任务,找到<!--source scripts--><!--end source scripts-->它之间的所有内容并用一个新的脚本文件替换它(在本例中为min.js),但是我无法使它工作.
这是我到目前为止所做的:
<target name="update-source-with-new-compiled-files">
<replaceregexp match="\<!--source scripts--\>(.*?)\<!--end source scripts--\>" replace="\<script src='min.js'\>\</script\>" flags="g">
<fileset dir="${basedir}/../dist" includes="*"/>
</replaceregexp>
</target>
Run Code Online (Sandbox Code Playgroud)