1
私はバズを使用しています。しかし、私と指導者は私のサウンドファイルが私の指示の中でなぜ発射されないのか理解できません。
マイディレクティブ:
(function() {
function clockTimer($interval, $window, STOP_WATCH) {
return {
templateUrl: '/templates/directives/clock_timer.html',
replace: true,
restrict: 'E',
scope: {},
link: function(scope, element, attributes) {
scope.STOP_WATCH = STOP_WATCH; //see constants in app.js
scope.startButton = 'Start Work';
scope.breakButton = 'Take Break';
scope.onBreak = false; //boolean for alternating displaying of work-time or break
var mySound = new buzz.sound("/sounds/blue.mp3", {
formats: ['mp3'],
preload: true
});
// @desc initiates holder of completed work sessions. Increments by 1 once timer hits 0
var completedWorkSessions = 0;
// @desc Holds state for $interval call
var promise;
scope.$watch('STOP_WATCH.totalWorkTime', function() {
if (scope.STOP_WATCH.totalWorkTime === 0) {
mySound.play();
console.log(mySound);
console.log("im listening");
}
});
マイVIEW
<section class="clock-container">
<div ng-show="!onBreak === true"> {{ STOP_WATCH.totalWorkTime | clockFormat }}
<button ng-click="startStopButton(startButton)" ng-show="!onBreak === true">{{ startButton }}</button>
</div>
<div ng-hide="onBreak === false"> {{ STOP_WATCH.totalBreakTime | clockFormat }}
<button ng-click="takeBreakButton(breakButton)">{{ breakButton }}</button>
</div>
</section>
バズ・ライブラリーが私のインデックスに含まれている、私はmySound
の先頭にscope
を追加しようとした、テストしました。テストアプリケーション(これはうまくいった)の中でmp3を再生することができません。
sound {sound: audio, volume: 80}
clockTimer.js:51 im listening
任意のアイデアや解決策を:ここで
は、その仮定にするとき$watch
が発射されることを実証している私のコンソールのですか?私はコントローラを持っていないし、コンソールでの起動に成功してからコントローラを必要としないと思う?
私は、変数 'STOP_WATCH.totalWorkTime'が変更された場合にのみ時計が起動すると思います。あなたは音を演奏するときにこれが起こっていますか? –
が正しい。私のアプリケーション内では、私のカウントダウンクロックがゼロになったときにのみ機能し、機能を実行します。だから、それが必要なときに発砲しているように見えます。 – DustinRW
あなたはあなたのコードを誰よりもよく知っています。あなたはデバッガを使って本当に何が起こっているか見ることができますか? –