Pārlūkot izejas kodu

Feature #4596 wami recorder
change code because change message id style doenst work. Also hide play record

Juan Carlos Raña 13 gadi atpakaļ
vecāks
revīzija
bbd84f1714

+ 3 - 7
main/document/record_audio_wami.php

@@ -147,7 +147,7 @@ echo '</div>';
 <script type="text/javascript" src="<?php echo api_get_path(WEB_LIBRARY_PATH) ?>wami-recorder/recorder.js"></script>
 
 <!-- GUI code... take it or leave it -->
-<script type="text/javascript" src="<?php echo api_get_path(WEB_LIBRARY_PATH) ?>wami-recorder/gui_record_document.js"></script>
+<script type="text/javascript" src="<?php echo api_get_path(WEB_LIBRARY_PATH) ?>wami-recorder/gui.js"></script>
 
 <script type="text/javascript">
 
@@ -159,17 +159,14 @@ echo '</div>';
 	}
 
 	function setupGUI() {
-		var counter = 0;
-		var waminame_noex=document.getElementById("audio_title").value;
 		var waminame = document.getElementById("audio_title").value+".wav";//adding name file and extension
 		var waminame_play=waminame;
 				
 		if (waminame!=".wav") {
 			document.getElementById('audio_title').style.display='none';
 			document.getElementById('audio_button').style.display='none';
-			document.getElementById('audio_message_1').style.display='none';
-			document.getElementById('audio_message_2').style.display='inline';
 		}
+		
 		var gui = new Wami.GUI({
 			id : "wami",
 			recordUrl : "<?php echo api_get_path(WEB_LIBRARY_PATH) ?>wami-recorder/record_document.php?waminame="+waminame+"&wamidir=<?php echo $wamidir; ?>&wamiuserid=<?php echo $wamiuserid; ?>",
@@ -179,7 +176,6 @@ echo '</div>';
 		});
 
 		gui.setPlayEnabled(false);
-		
 	}
 	
 
@@ -199,7 +195,7 @@ echo '</div>';
 Display::display_normal_message(get_lang('WamiNeedFilename').' '.get_lang('WamiFlashDialog'), false);
 ?>
 </div>
-<div align="center" id="audio_message_2" style="display:none;">
+<div align="center" id="audio_message_2" style="display:inline;">
 <?php
 Display::display_normal_message(get_lang('WamiStartRecorder'), false);
 ?>

+ 0 - 349
main/inc/lib/wami-recorder/gui_record_document.js

@@ -1,349 +0,0 @@
-var Wami = window.Wami || {};
-
-// Upon a creation of a new Wami.GUI(options), we assume that a WAMI recorder
-// has been initialized.
-Wami.GUI = function(options) {
-	var RECORD_BUTTON = 1;
-	//var PLAY_BUTTON = 0;// Chamilo deactivate play record when recording on documents
-
-	setOptions(options);
-	setupDOM();
-
-	var recordButton, playButton;
-	var recordInterval, playInterval;
-
-	function createDiv(id, style) {
-		var div = document.createElement("div");
-		if (id) {
-			div.setAttribute('id', id);
-		}
-		if (style) {
-			div.style.cssText = style;
-		}
-		return div;
-	}
-
-	function setOptions(options) {
-		if (!options.buttonUrl) {
-			options.buttonUrl = "buttons.png";
-		}
-
-		if (typeof options.listen == 'undefined' || options.listen) {
-			listen();
-		}
-	}
-
-	function setupDOM() {
-		var guidiv = createDiv(null,
-				"position: absolute; width: 214px; height: 137px;");
-		document.getElementById(options.id).appendChild(guidiv);
-
-		var rid = Wami.createID();
-		var recordDiv = createDiv(rid,
-				"position: absolute; left: 40px; top: 25px");
-		guidiv.appendChild(recordDiv);
-
-		recordButton = new Button(rid, RECORD_BUTTON, options.buttonUrl);
-		recordButton.onstart = startRecording;
-		recordButton.onstop = stopRecording;
-
-		recordButton.setEnabled(true);
-
-		if (!options.singleButton) {
-			var pid = Wami.createID();
-			var playDiv = createDiv(pid,
-					"position: absolute; right: 40px; top: 25px");
-			guidiv.appendChild(playDiv);
-
-			playButton = new Button(pid, PLAY_BUTTON, options.buttonUrl);
-			playButton.onstart = startPlaying;
-			playButton.onstop = stopPlaying;
-		}
-	}
-
-	/**
-	 * These methods are called on clicks from the GUI.
-	 */
-	function startRecording() {
-		if (!options.recordUrl) {
-			alert("No record Url specified!");
-		}
-		recordButton.setActivity(0);
-		playButton.setEnabled(false);
-		Wami.startRecording(options.recordUrl,
-				Wami.nameCallback(onRecordStart), Wami
-						.nameCallback(onRecordFinish), Wami
-						.nameCallback(onError));
-	}
-
-	function stopRecording() {
-		Wami.stopRecording();
-		clearInterval(recordInterval);
-		recordButton.setEnabled(true);
-	}
-
-	function startPlaying() {
-		if (!options.playUrl) {
-			alert('No play URL specified!');
-		}
-
-		playButton.setActivity(0);
-		recordButton.setEnabled(false);
-
-		Wami.startPlaying(options.playUrl, Wami.nameCallback(onPlayStart), Wami
-				.nameCallback(onPlayFinish), Wami.nameCallback(onError));
-	}
-
-	function stopPlaying() {
-		Wami.stopPlaying();
-	}
-
-	this.setPlayUrl = function(url) {
-		options.playUrl = url;
-	}
-
-	this.setRecordUrl = function(url) {
-		options.recordUrl = url;
-	}
-
-	this.setPlayEnabled = function(val) {
-		playButton.setEnabled(val);
-	}
-
-	this.setRecordEnabled = function(val) {
-		recordButton.setEnabled(val);
-	}
-
-	/**
-	 * Callbacks from the flash indicating certain events
-	 */
-
-	function onError(e) {
-		alert(e);
-	}
-
-	function onRecordStart() {
-		recordInterval = setInterval(function() {
-			if (recordButton.isActive()) {
-				var level = Wami.getRecordingLevel();
-				recordButton.setActivity(level);
-			}
-		}, 200);
-		if (options.onRecordStart) {
-			options.onRecordStart();
-		}
-	}
-
-	function onRecordFinish() {
-		playButton.setEnabled(true);
-		if (options.onRecordFinish) {
-			options.onRecordFinish();
-		}
-	}
-
-	function onPlayStart() {
-		playInterval = setInterval(function() {
-			if (playButton.isActive()) {
-				var level = Wami.getPlayingLevel();
-				playButton.setActivity(level);
-			}
-		}, 200);
-		if (options.onPlayStart) {
-			options.onPlayStart();
-		}
-	}
-
-	function onPlayFinish() {
-		clearInterval(playInterval);
-		recordButton.setEnabled(true);
-		playButton.setEnabled(true);
-		if (options.onPlayFinish) {
-			options.onPlayFinish();
-		}
-	}
-
-	function listen() {
-		Wami.startListening();
-		// Continually listening when the window is in focus allows us to
-		// buffer a little audio before the users clicks, since sometimes
-		// people talk too soon. Without "listening", the audio would record
-		// exactly when startRecording() is called.
-		window.onfocus = function() {
-			Wami.startListening();
-		};
-
-		// Note that the use of onfocus and onblur should probably be replaced
-		// with a more robust solution (e.g. jQuery's $(window).focus(...)
-		window.onblur = function() {
-			Wami.stopListening();
-		};
-	}
-
-	function Button(buttonid, type, url) {
-		var self = this;
-		self.active = false;
-		self.type = type;
-
-		init();
-
-		// Get the background button image position
-		// Index: 1) normal 2) pressed 3) mouse-over
-		function background(index) {
-			if (index == 1)
-				return "-56px 0px";
-			if (index == 2)
-				return "0px 0px";
-			if (index == 3)
-				return "-112px 0";
-			alert("Background not found: " + index);
-		}
-
-		// Get the type of meter and its state
-		// Index: 1) enabled 2) meter 3) disabled
-		function meter(index, offset) {
-			var top = 5;
-			if (offset)
-				top += offset;
-			if (self.type == RECORD_BUTTON) {
-				if (index == 1)
-					return "-169px " + top + "px";
-				if (index == 2)
-					return "-189px " + top + "px";
-				if (index == 3)
-					return "-249px " + top + "px";
-			} else {
-				if (index == 1)
-					return "-269px " + top + "px";
-				if (index == 2)
-					return "-298px " + top + "px";
-				if (index == 3)
-					return "-327px " + top + "px";
-			}
-			alert("Meter not found: " + self.type + " " + index);
-		}
-
-		function silhouetteWidth() {
-			if (self.type == RECORD_BUTTON) {
-				return "20px";
-			} else {
-				return "29px";
-			}
-		}
-
-		function mouseHandler(e) {
-			var rightclick;
-			if (!e)
-				var e = window.event;
-			if (e.which)
-				rightclick = (e.which == 3);
-			else if (e.button)
-				rightclick = (e.button == 2);
-
-			if (!rightclick) {
-				if (self.active && self.onstop) {
-					self.active = false;
-					self.onstop();
-				} else if (!self.active && self.onstart) {
-					self.active = true;
-					self.onstart();
-				}
-			}
-		}
-
-		function init() {
-			var div = document.createElement("div");
-			var elem = document.getElementById(buttonid);
-			if (elem) {
-				elem.appendChild(div);
-			} else {
-				alert('Could not find element on page named ' + buttonid);
-			}
-
-			self.guidiv = document.createElement("div");
-			self.guidiv.style.width = '56px';
-			self.guidiv.style.height = '63px';
-			self.guidiv.style.cursor = 'pointer';
-			self.guidiv.style.background = "url(" + url + ") no-repeat";
-			self.guidiv.style.backgroundPosition = background(1);
-			div.appendChild(self.guidiv);
-
-			// margin auto doesn't work in IE quirks mode
-			// http://stackoverflow.com/questions/816343/why-will-this-div-img-not-center-in-ie8
-			// text-align is a hack to force it to work even if you forget the
-			// doctype.
-			self.guidiv.style.textAlign = 'center';
-
-			self.meterDiv = document.createElement("div");
-			self.meterDiv.style.width = silhouetteWidth();
-			self.meterDiv.style.height = '63px';
-			self.meterDiv.style.margin = 'auto';
-			self.meterDiv.style.cursor = 'pointer';
-			self.meterDiv.style.position = 'relative';
-			self.meterDiv.style.background = "url(" + url + ") no-repeat";
-			self.meterDiv.style.backgroundPosition = meter(2);
-			self.guidiv.appendChild(self.meterDiv);
-
-			self.coverDiv = document.createElement("div");
-			self.coverDiv.style.width = silhouetteWidth();
-			self.coverDiv.style.height = '63px';
-			self.coverDiv.style.margin = 'auto';
-			self.coverDiv.style.cursor = 'pointer';
-			self.coverDiv.style.position = 'relative';
-			self.coverDiv.style.background = "url(" + url + ") no-repeat";
-			self.coverDiv.style.backgroundPosition = meter(1);
-			self.meterDiv.appendChild(self.coverDiv);
-
-			self.active = false;
-			self.guidiv.onmousedown = mouseHandler;
-		}
-
-		self.isActive = function() {
-			return self.active;
-		}
-
-		self.setActivity = function(level) {
-			self.guidiv.onmouseout = function() {
-			};
-			self.guidiv.onmouseover = function() {
-			};
-			self.guidiv.style.backgroundPosition = background(2);
-			self.coverDiv.style.backgroundPosition = meter(1, 5);
-			self.meterDiv.style.backgroundPosition = meter(2, 5);
-
-			var totalHeight = 31;
-			var maxHeight = 9;
-
-			// When volume goes up, the black image loses height,
-			// creating the perception of the colored one increasing.
-			var height = (maxHeight + totalHeight - Math.floor(level / 100
-					* totalHeight));
-			self.coverDiv.style.height = height + "px";
-		}
-
-		self.setEnabled = function(enable) {
-			var guidiv = self.guidiv;
-			self.active = false;
-			if (enable) {
-				self.coverDiv.style.backgroundPosition = meter(1);
-				self.meterDiv.style.backgroundPosition = meter(1);
-				guidiv.style.backgroundPosition = background(1);
-				guidiv.onmousedown = mouseHandler;
-				guidiv.onmouseover = function() {
-					guidiv.style.backgroundPosition = background(3);
-				};
-				guidiv.onmouseout = function() {
-					guidiv.style.backgroundPosition = background(1);
-				};
-			} else {
-				self.coverDiv.style.backgroundPosition = meter(3);
-				self.meterDiv.style.backgroundPosition = meter(3);
-				guidiv.style.backgroundPosition = background(1);
-				guidiv.onmousedown = null;
-				guidiv.onmouseout = function() {
-				};
-				guidiv.onmouseover = function() {
-				};
-			}
-		}
-	}
-}