c5_labsci/fapp/ciyon_ap/pages/demo/comview/audio.vue

131 lines
3.6 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<ciy-header ref="header" title="ciy-audio组件"></ciy-header>
<view>
<view class="ciy-card">
<view class="title">音乐播放器</view>
<view class="content">
<view class="tip">
支持背景/前景播放倍速播放<br />
</view>
</view>
</view>
<view class="px2 py2">
<ciy-audio :background="props.background" :src="props.src" :coverimg="props.coverimg" :title="props.title" :nonedisplay="props.nonedisplay" :epname="props.epname" :singer="props.singer" @change="chglog('change', $event)">
</ciy-audio>
</view>
<view style="margin:2em;display: flex;justify-content: space-around;">
<view @tap="this.settheme('dark')">dark</view>
<view @tap="this.settheme('light')">light</view>
</view>
<view class="ciy-card">
<view class="title">属性</view>
<view class="content">
<view class="prp">src</view>
<view class="tip">音频文件url支持hls</view>
<ciy-input bb v-model="props.src"></ciy-input>
<view class="hr"></view>
<view class="prp">title</view>
<view class="tip">
标题。<br />
默认 无题
</view>
<ciy-input bb v-model="props.title"></ciy-input>
<view class="hr"></view>
<view class="prp">nonedisplay</view>
<view class="tip">
是否不显示界面。<br />
默认 false
</view>
<view style="margin:0 1em;">
<ciy-switch v-model="props.nonedisplay"></ciy-switch>
</view>
<view class="hr"></view>
<view class="prp">background</view>
<view class="tip">
是否背景播放。<br />
若需要小程序在退到后台后继续播放音频,需在 app.json 中配置 requiredBackgroundModes 属性,向官方申请权限。<br />
默认 false
</view>
<view class="hr"></view>
<view class="prp">coverimg</view>
<view class="tip">
封面图url。仅背景播放时后台显示。<br />
</view>
<ciy-input bb v-model="props.coverimg"></ciy-input>
<view class="hr"></view>
<view class="prp">epname</view>
<view class="tip">
专辑名。仅背景播放时后台显示。<br />
</view>
<ciy-input bb v-model="props.epname"></ciy-input>
<view class="hr"></view>
<view class="prp">singer</view>
<view class="tip">
歌手名。仅背景播放时后台显示。<br />
</view>
<ciy-input bb v-model="props.singer"></ciy-input>
</view>
</view>
<view class="ciy-card">
<view class="title">方法</view>
<view class="content">
</view>
</view>
<view class="ciy-card">
<view class="title">事件</view>
<view class="content">
<view class="evt">@change</view>
<view class="tip">
打开关闭变更事件<br />
from: play,pause,stop
</view>
<view class="hr"></view>
<view class="log" v-for="(item, index) in eventlog" :key="index">
<text class="code">{{eventlog.length - index}}</text>
{{item}}
</view>
</view>
</view>
<view class="hr"></view>
</view>
<ciy-tabbar ref="tabbar"></ciy-tabbar>
</template>
<style scoped>
@import '@/pages/demo/zdemo.css';
</style>
<script>
import zmixin from '@/pages/demo/zmixin.js';
export default {
mixins: [zmixin],
data() {
return {
ns: 5,
popsh: false,
props: {
src: this.file_stor('/img/music1.mp3'),
coverimg: this.file_stor('/img/face.png'),
title: '无题',
direction: 'bottom',
edge: 100,
anispeed: 300,
}
}
},
onLoad() {
if (this.opn.bg == '1')
this.props.background = true;
},
methods: {
async openpop(ns) {
this.ns = ns;
this.popsh = true;
},
funopen() {
this.getrefs('anipop').then(ref => ref.Open());
}
}
}
</script>