大佬教程收集整理的这篇文章主要介绍了html5 – 如何在Web Audio Api中释放缓冲区?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
以下代码模拟连续加载新缓冲区的回放.我需要web audio api来添加效果混音,所以每个人都可以通过他的表现听到实时结果
不幸的是,这段代码吞噬了整个ram并崩溃了移动和桌面游猎.我不知道如何在播放后释放那些大缓冲区,我不再需要它们.我真的需要在内存中加载新的大数据.有谁有想法?否则我会遇到前8个无法再加载的文件.
var context = new webkitAudioContext(); var @R_900_10586@l=0; function onTouchStart(){ seTinterval(function(){ @R_900_10586@l+=10; source = context.createBuffersource(); source.connect(context.desTination); // simulates loading large file source.buffer=context.createBuffer(1,10*1024*1024,context.sampleRatE); source.noteOn(0); source.noteOff(0); // acording to w3c spec resources should be deleted immediately. // making source property and call delete or =null will release nether source or buffer i am desperate. console.log(@R_900_10586@l,'mb'); // },1000); } document.addEventListener( "touchstart",onTouchStart ); document.addEventListener( "click",onTouchStart );
此外,由于您将事件监听器附加到文档,因此每次点击设备时都会启动另一轮间隔,因此如果碰巧碰到它两次,您将创建双倍数量的缓冲区,意味着每秒20mb.
话虽如此,你是否在实际播放真实文件时试过这个?您可能不会遇到此问题,因为垃圾收集器将能够在文件播放时保持同步. 10mb大mp3或ogg是几分钟的音频.
希望有所帮助!
以上是大佬教程为你收集整理的html5 – 如何在Web Audio Api中释放缓冲区?全部内容,希望文章能够帮你解决html5 – 如何在Web Audio Api中释放缓冲区?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。