mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2025-12-30 00:53:50 +00:00
Themes [Default]: Audio waveform support and new setting integration.
This commit is contained in:
@@ -746,21 +746,38 @@
|
||||
{literal}
|
||||
var recording_audio, audio_clock, recording_id_playing;
|
||||
|
||||
function recording_play(recording_id) {
|
||||
if (document.getElementById('recording_progress_bar_'+recording_id)) {
|
||||
document.getElementById('recording_progress_bar_'+recording_id).style.display='';
|
||||
function recording_play(player_id, data, audio_type) {
|
||||
if (document.getElementById('recording_progress_bar_' + player_id)) {
|
||||
document.getElementById('recording_progress_bar_' + player_id).style.display='';
|
||||
}
|
||||
recording_audio = document.getElementById('recording_audio_'+recording_id);
|
||||
recording_audio = document.getElementById('recording_audio_' + player_id);
|
||||
|
||||
if (recording_audio.paused) {
|
||||
{/literal}
|
||||
//create and load waveform image
|
||||
{if $settings.theme.audio_player_waveform_enabled == 'true'}
|
||||
{literal}
|
||||
//list playback
|
||||
if (document.getElementById('playback_progress_bar_background_' + player_id)) {
|
||||
// alert("waveform.php?id=" + player_id + (data !== undefined ? '&data=' + data : '') + (audio_type !== undefined ? '&type=' + audio_type : ''));
|
||||
document.getElementById('playback_progress_bar_background_' + player_id).style.backgroundImage = "linear-gradient(to bottom, rgba(0,0,0,0.10) 0%, transparent 20%), url('waveform.php?id=" + player_id + (data !== undefined ? '&data=' + data : '') + (audio_type !== undefined ? '&type=' + audio_type : '') + "')";
|
||||
}
|
||||
//form playback
|
||||
else if (document.getElementById('recording_progress_bar_' + player_id)) {
|
||||
// alert("waveform.php?id=" + player_id + (data !== undefined ? '&data=' + data : '') + (audio_type !== undefined ? '&type=' + audio_type : ''));
|
||||
document.getElementById('recording_progress_bar_' + player_id).style.backgroundImage = "linear-gradient(to bottom, rgba(0,0,0,0.10) 0%, transparent 20%), url('waveform.php?id=" + player_id + (data !== undefined ? '&data=' + data : '') + (audio_type !== undefined ? '&type=' + audio_type : '') + "')";
|
||||
}
|
||||
{/literal}
|
||||
{/if}
|
||||
{literal}
|
||||
recording_audio.volume = 1;
|
||||
recording_audio.play();
|
||||
recording_id_playing = recording_id;
|
||||
document.getElementById('recording_button_'+recording_id).innerHTML = "<span class='{/literal}{$settings.theme.button_icon_pause}{literal} fa-fw'></span>";
|
||||
audio_clock = setInterval(function () { update_progress(recording_id); }, 20);
|
||||
recording_id_playing = player_id;
|
||||
document.getElementById('recording_button_' + player_id).innerHTML = "<span class='{/literal}{$settings.theme.button_icon_pause}{literal} fa-fw'></span>";
|
||||
audio_clock = setInterval(function () { update_progress(player_id); }, 20);
|
||||
|
||||
$('[id*=recording_button]').not('[id*=recording_button_'+recording_id+']').html("<span class='{/literal}{$settings.theme.button_icon_play}{literal} fa-fw'></span>");
|
||||
$('[id*=recording_progress_bar]').not('[id*=recording_progress_bar_'+recording_id+']').css('display', 'none');
|
||||
$('[id*=recording_button]').not('[id*=recording_button_' + player_id + ']').html("<span class='{/literal}{$settings.theme.button_icon_play}{literal} fa-fw'></span>");
|
||||
$('[id*=recording_progress_bar]').not('[id*=recording_progress_bar_' + player_id + ']').css('display', 'none');
|
||||
|
||||
$('audio').each(function(){
|
||||
if ($(this).get(0) != recording_audio) {
|
||||
@@ -772,33 +789,33 @@
|
||||
else {
|
||||
recording_audio.pause();
|
||||
recording_id_playing = '';
|
||||
document.getElementById('recording_button_'+recording_id).innerHTML = "<span class='{/literal}{$settings.theme.button_icon_play}{literal} fa-fw'></span>";
|
||||
document.getElementById('recording_button_' + player_id).innerHTML = "<span class='{/literal}{$settings.theme.button_icon_play}{literal} fa-fw'></span>";
|
||||
clearInterval(audio_clock);
|
||||
}
|
||||
}
|
||||
|
||||
function recording_stop(recording_id) {
|
||||
recording_reset(recording_id);
|
||||
function recording_stop(player_id) {
|
||||
recording_reset(player_id);
|
||||
clearInterval(audio_clock);
|
||||
}
|
||||
|
||||
function recording_reset(recording_id) {
|
||||
recording_audio = document.getElementById('recording_audio_'+recording_id);
|
||||
function recording_reset(player_id) {
|
||||
recording_audio = document.getElementById('recording_audio_' + player_id);
|
||||
recording_audio.pause();
|
||||
recording_audio.currentTime = 0;
|
||||
if (document.getElementById('recording_progress_bar_'+recording_id)) {
|
||||
document.getElementById('recording_progress_bar_'+recording_id).style.display='none';
|
||||
if (document.getElementById('recording_progress_bar_' + player_id)) {
|
||||
document.getElementById('recording_progress_bar_' + player_id).style.display='none';
|
||||
}
|
||||
document.getElementById('recording_button_'+recording_id).innerHTML = "<span class='{/literal}{$settings.theme.button_icon_play}{literal} fa-fw'></span>";
|
||||
document.getElementById('recording_button_' + player_id).innerHTML = "<span class='{/literal}{$settings.theme.button_icon_play}{literal} fa-fw'></span>";
|
||||
clearInterval(audio_clock);
|
||||
}
|
||||
|
||||
function update_progress(recording_id) {
|
||||
recording_audio = document.getElementById('recording_audio_'+recording_id);
|
||||
var recording_progress = document.getElementById('recording_progress_'+recording_id);
|
||||
function update_progress(player_id) {
|
||||
recording_audio = document.getElementById('recording_audio_' + player_id);
|
||||
var recording_progress = document.getElementById('recording_progress_' + player_id);
|
||||
var value = 0;
|
||||
if (recording_audio != null && recording_audio.currentTime > 0) {
|
||||
value = (100 / recording_audio.duration) * recording_audio.currentTime;
|
||||
value = Number(((100 / recording_audio.duration) * recording_audio.currentTime).toFixed(1));
|
||||
}
|
||||
if (recording_progress) {
|
||||
recording_progress.style.marginLeft = value + '%';
|
||||
@@ -810,14 +827,14 @@
|
||||
|
||||
function recording_fast_forward() {
|
||||
if (recording_audio) {
|
||||
recording_audio.currentTime += 5;
|
||||
recording_audio.currentTime += {/literal}{if !empty($settings.theme.audio_player_scrub_seconds) }{$settings.theme.audio_player_scrub_seconds}{else}2{/if}{literal};
|
||||
update_progress(recording_id_playing);
|
||||
}
|
||||
}
|
||||
|
||||
function recording_rewind() {
|
||||
if (recording_audio) {
|
||||
recording_audio.currentTime -= 5;
|
||||
recording_audio.currentTime -= {/literal}{if !empty($settings.theme.audio_player_scrub_seconds) }{$settings.theme.audio_player_scrub_seconds}{else}2{/if}{literal};
|
||||
update_progress(recording_id_playing);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user