我需要我的 phonegap 应用,以便在其工作时在后台录制音频。为此,Media
对象工作正常,一旦我导航到新页面就停止录制。我没有找到任何方法来暂停和继续录制,即使可能,我也不愿意这样做,因为录制将会被删除。
我是否需要开始编写插件?
function startAudioRec() {
var src = "rec.amr";
audioRec = new Media(src, recordOnSuccess, recordOnError);
audioRec.startRecord();
circleBlink();
console.log("test");
}
function recordOnError() {}
function recordOnSuccess() {}
var visible = true;
var recInterval;
function circleBlink() {
recInterval = setInterval(blink, 1000);
function blink() {
var circle = document.getElementById('recCircle');
if (visible) {
circle.setAttribute("style", "visibility: hidden;");
visible = false;
} else {
circle.setAttribute("style", "visibility: visible;");
visible = true;
}
}
}
function stopAudioRec() {
audioRec.stopRecord();
clearInterval(recInterval);
document.getElementById("recCircle").setAttribute("style", "visibility: hidden;");
audioRec.release();
}
答案 0 :(得分:0)
到目前为止,我唯一的想法是动态删除所有html元素并使用javascript和DOM在同一页面上替换它们,从而在整个应用程序中保持同一页面而不进行任何导航。什么更好的人?我希望能够导航,我的解决方案不是直观的。
var page1=document.getElementsByName("page1");
var size=page1.length;
for(var i=0;i<size;i++){
page1.removeChild(page1[0]);
}
var a=document.createElement("button");
a.setAttribute("name","page2");
答案 1 :(得分:0)
也许您可以使用像Dojo这样的框架,并将您的应用程序构建为single page application。然后,当您导航到新页面时,它基本上会为您交换DOM元素。从理论上讲,您将停留在同一个HTML页面上,因此在您告知之前不应停止录制。只是一个想法......这是一个有趣的问题,让我们知道你最终做了什么。祝你好运!
以下是使用Dojo构建的单页应用的简单示例:http://demos.dojotoolkit.org/demos/mobileSlideShow/demo.html
应用测试还有更多内容:http://archive.dojotoolkit.org/nightly/checkout/dojox/app/tests/并非所有这些都是单页网页应用。我知道其他框架会为你做这个可能更容易学习,抱歉我没有任何链接。