captain-ui
Version:
有赞vue wap业务组件库
70 lines (65 loc) • 1.91 kB
JavaScript
import AudioController from '../../audio-controller/index';
import AudioPlayer from './AudioPlayer';
export default {
render: function render() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c('div', {
staticClass: "cap-showcase-audio"
}, [_c('audio-controller', _vm._b({
ref: "audioController",
on: {
"audio-play": _vm.onAudioPlay
},
scopedSlots: _vm._u([{
key: "default",
fn: function fn(props) {
return [_c('audio-player', _vm._b({
ref: "audioPlayer",
attrs: {
"audio-event-bus": props.audioEventBus,
"percentage": props.percentage,
"formated-current-time": props.formatedCurrentTime,
"formated-duration": props.formatedDuration,
"is-stop": props.isStop,
"is-pause": props.isPause,
"is-playing": props.isPlaying,
"is-loading": props.isLoading,
"is-loaded": props.isLoaded
}
}, 'audio-player', _vm.$attrs, false))];
}
}])
}, 'audio-controller', _vm.$attrs, false))], 1);
},
name: 'cap-showcase-audio',
components: {
AudioController: AudioController,
AudioPlayer: AudioPlayer
},
inheritAttrs: false,
data: function data() {
return {
sliderInited: false
};
},
methods: {
onAudioPlay: function onAudioPlay() {
if (!this.sliderInited) {
this.$refs.audioPlayer.initSlider();
this.sliderInited = true;
}
this.$emit('showcase-audio-play');
},
pauseAudio: function pauseAudio() {
var audioController = this.$refs.audioController;
if (audioController.isPlaying) {
audioController.pause();
}
},
playAudio: function playAudio() {
this.$refs.audioController.play();
}
}
};