michael@0: /* michael@0: * michael@0: * Licensed to the Apache Software Foundation (ASF) under one michael@0: * or more contributor license agreements. See the NOTICE file michael@0: * distributed with this work for additional information michael@0: * regarding copyright ownership. The ASF licenses this file michael@0: * to you under the Apache License, Version 2.0 (the michael@0: * "License"); you may not use this file except in compliance michael@0: * with the License. You may obtain a copy of the License at michael@0: * michael@0: * http://www.apache.org/licenses/LICENSE-2.0 michael@0: * michael@0: * Unless required by applicable law or agreed to in writing, michael@0: * software distributed under the License is distributed on an michael@0: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY michael@0: * KIND, either express or implied. See the License for the michael@0: * specific language governing permissions and limitations michael@0: * under the License. michael@0: * michael@0: */ michael@0: michael@0: module.exports = function (quantity) { michael@0: var count = 0, michael@0: beepObj, michael@0: play = function () { michael@0: //create new object every time due to strage playback behaviour michael@0: beepObj = new Audio('local:///chrome/plugin/org.apache.cordova.dialogs/notification-beep.wav'); michael@0: beepObj.addEventListener("ended", callback); michael@0: beepObj.play(); michael@0: }, michael@0: callback = function () { michael@0: if (--count > 0) { michael@0: play(); michael@0: } else { michael@0: delete beepObj; michael@0: } michael@0: }; michael@0: count += quantity || 1; michael@0: if (count > 0) { michael@0: play(); michael@0: } michael@0: };