|
|
|
<div class="audio_player_wrap clearfix">
|
|
|
|
<button class="btn btn-primary pull-left audio_player_button" ng-click="togglePlay()">
|
|
|
|
<i class="icon audio_player_btn_icon" ng-class="{audio_player_btn_icon_pause: mediaPlayer.player.playing, audio_player_btn_icon_cancel: audio.progress.enabled}"></i>
|
|
|
|
</button>
|
|
|
|
<div class="audio_player_title_wrap">
|
|
|
|
<a ng-click="download()" class="audio_player_title" ng-switch="::audio.file_name.length > 0">
|
|
|
|
<span ng-switch-when="true" ng-bind="::audio.file_name"></span>
|
|
|
|
<span ng-switch-default my-i18n="message_attach_audio_message"></span>
|
|
|
|
</a>
|
|
|
|
<div class="audio_player_meta" ng-switch="audio.progress.enabled ? 'progress' : (!mediaPlayer.player.duration && !audio.duration ? 'size' : '')">
|
|
|
|
<span ng-switch-when="progress" class="audio_player_size" ng-bind="audio.progress | formatSizeProgress"></span>
|
|
|
|
<span ng-switch-when="size" class="audio_player_size" ng-bind="audio.size | formatSize"></span>
|
|
|
|
<span ng-switch-default class="audio_player_duration" ng-bind="(mediaPlayer.player.playing || mediaPlayer.player.currentTime > 0) ? mediaPlayer.player.currentTime : (mediaPlayer.player.duration || audio.duration) | duration"></span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="audio_player_actions" ng-if="!audio.progress.enabled && !audio.url">
|
|
|
|
<a ng-click="togglePlay()" my-i18n="message_attach_audio_play"></a>
|
|
|
|
<a ng-if="audio._ == 'document'" ng-click="download()" my-i18n="message_attach_document_download"></a>
|
|
|
|
</div>
|
|
|
|
<div class="audio_player_progress_wrap" ng-if="audio.progress.enabled || audio.url" ng-switch="audio.progress.enabled">
|
|
|
|
<div ng-switch-when="true" class="progress tg_down_progress">
|
|
|
|
<div class="progress-bar progress-bar-success" ng-style="{width: audio.progress.percent + '%'}"></div>
|
|
|
|
</div>
|
|
|
|
<div ng-switch-default>
|
|
|
|
<div class="audio_player_seek_slider" my-slider slider-model="mediaPlayer.player.currentTime" slider-min="0" slider-max="mediaPlayer.player.duration || audio.duration" slider-onchange="seek(value)"></div>
|
|
|
|
<div class="audio_player_volume_slider" my-slider slider-model="mediaPlayer.player.volume" slider-min="0" slider-max="1" slider-onchange="setVolume(value)"></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<audio ng-if="audio.url" media-player="mediaPlayer.player">
|
|
|
|
<source ng-src="{{::audio.url}}" type="audio/ogg" />
|
|
|
|
</audio>
|
|
|
|
</div>
|