为什么发出的声音会一会是男声,一会是女声?这个能设置固定的吗?
<template> <view class="page_wrap u-flex-col u-row-between"> <view class="content"> <MyNavbar title="检票"></MyNavbar> <view class="content_middle u-flex-col "> <view class="content_middle_title">终端绑定</view> <view class="content_middle_input u-flex-col u-row-center u-col-center"> <view class="content_middle_item u-flex u-row-between"> <view class="label">当前终端:{{ terminalObj.terminalName }}</view> <view class="moni_button" @click="reSetBindTerminal">终端解绑</view> </view> <u-form :model="form" ref="uForm"> <u-form-item :border-bottom="false"> <u-input v-model="form.text" type="select" disabled @click="toSelectOut" :border="border" placeholder="终端选择" /> <u-picker :show="selectFlag" mode="selector" :columns="terminalColumns" @confirm="confirmPicker" @cancel="cancelPicker" keyName="label" :default-index="[0]"></u-picker> </u-form-item> </u-form> </view> <view class="content_middle_button"> <u-button :custom-style="customStyle" @click="bindTerminal">终端绑定</u-button> </view> </view> <view class="content_middle u-flex-col "> <view class="content_middle_title">语音设置</view> <view class="content_middle_input u-flex u-row-between u-col-center u-p-l-60 u-p-r-60"> <view class=""> 是否开启语音 </view> <view class=""> <u-switch v-model="isAudio" active-color="#F87428" @change="switchChange"></u-switch> </view> </view> </view> </view> <MyFooter /> </view> </template> <script> import { checkTerminalIsBind, bindTerminal, reSetBindTerminal, findNoBindTerminalList } from '@/api/check-ticket/index.js'; import MyFooter from '@/components/MyFooter/index.vue'; import { getUserInfo, setIsAudio, getIsAudio } from '@/util/storage.js'; export default { components: { MyFooter }, data() { return { border: false, selectFlag: false, form: { text: '', terminalNo: '' }, terminalList: [], terminalColumns: [], machineNo: null, terminalObj: { positionName: '', terminalName: '', terminalNo: '', terminalId: '' }, isAudio: false, customStyle: { width: '598rpx', height: '84rpx', background: '#F87428', borderRadius: '46rpx 46rpx 46rpx 46rpx', fontSize: '32rpx', fontFamily: ' PingFang SC-Regular, PingFang SC', fontWeight: 400, color: '#FFFFFF', lineHeight: '44rpx', }, }; }, onLoad(option) {}, created() { this.initPage(); }, methods: { cancelPicker() { this.selectFlag = false; // 关闭下拉菜单 }, confirmPicker(e) { console.log("确认选择的数据:", e); if (e.value && e.value.length > 0) { const selected = e.value[0]; // 获取选中的选项对象 this.form.text = selected.label; // 更新 form.text this.form.terminalNo = selected.value; // 更新 form.terminalNo } this.selectFlag = false; // 关闭下拉菜单 }, confirm(e) { this.form.text = e[0].label; this.form.terminalNo = e[0].value; this.selectFlag = false; // 关闭下拉菜单 }, initPage() { console.log(getApp().globalData.setTerimalStorage) if (getApp().globalData.setTerimalStorage == 'ticketTerimal') { this.machineNo = getUserInfo().memberId; } else { this.machineNo = getUserInfo().memberNo; } if (!this.machineNo) { uni.redirectTo({ url: 'pages/login/login' }); } this.checkTerminalIsBind(); this.findNoBindTerminalList(); let isAudio = getIsAudio() if (isAudio) { this.isAudio = isAudio } else { this.isAudio = false } }, // init回显 checkTerminalIsBind() { checkTerminalIsBind({ machineNo: this.machineNo }).then(res => { if (res.data) { this.terminalObj = { positionName: res.data.positionName, terminalName: res.data.terminalName, terminalNo: res.data.terminalNo, terminalId: res.data.terminalId, scenicSpotId: res.data.scenicSpotId, }; uni.setStorageSync(getApp().globalData.setTerimalStorage, this.terminalObj) } else { this.terminalObj = this.$options.data().terminalObj; } }); }, // 查终端列表 findNoBindTerminalList() { findNoBindTerminalList({ terminalType: getApp().globalData.TERMINALTYPE }).then(res => { if (res.data?.list) { this.terminalList = res.data.list.map(item => ({ label: item.terminalName, value: item.terminalNo })); this.terminalColumns = [this.terminalList]; } else { this.terminalList = []; this.terminalColumns = []; } }); }, reSetBindTerminal() { if (!this.terminalObj.terminalName) return; uni.showToast({ title: '正在解绑中', icon: 'loading' }); reSetBindTerminal({ terminalNo: this.terminalObj.terminalNo }) .then(res => { this.terminalObj = this.$options.data().terminalObj; this.form = {}; uni.removeStorageSync(getApp().globalData.setTerimalStorage); this.checkTerminalIsBind(); }) .finally(() => { uni.hideToast(); this.findNoBindTerminalList(); }); }, // 呼出下拉 toSelectOut() { console.log('点击事件触发,当前终端名称:', this.terminalObj.terminalName); // 调试日志 if (this.terminalObj.terminalName) { console.log('终端已绑定,禁止选择'); return; } console.log('打开picker'); this.selectFlag = true; }, // 选择 toSelect(index) { this.form.text = e.name; this.form.terminalNo = e.value; this.selectFlag = false // this.form = uni.$u.deepClone(this.terminalList[index]); }, bindTerminal() { uni.showToast({ title: '正在绑定中', icon: 'loading' }); bindTerminal({ machineNo: this.machineNo, terminalNo: this.form.terminalNo }) .then(res => { this.terminalObj = { positionName: res.data.positionName, terminalName: res.data.terminalName, terminalNo: res.data.terminalNo, terminalId: res.data.terminalId, scenicSpotId: res.data.scenicSpotId, }; uni.setStorageSync(getApp().globalData.setTerimalStorage, this.terminalObj); }) .finally(() => { uni.hideToast(); }); }, // 选择开启语音 switchChange(value) { setIsAudio(value) } } }; </script>