1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
import dxui from '../../../../dxmodules/dxUi.js'
import std from '../../../../dxmodules/dxStd.js'
import viewUtils from "../../viewUtils.js"
import topView from "../../topView.js"
import configView from '../configView.js'
import i18n from "../../i18n.js"
import screen from '../../../screen.js'
const voiceBroadcastView = {}
 
const strangerData = ["无语音", "请先注册", "陌生人你好"]
const strangerData0 = ["No voice", "Play first register", "Play stranger hello"]
const voiceModeData = ["无语音", "名字", "问候语"]
const voiceModeData0 = ["No voice", "Play name", "Play greeting"]
 
voiceBroadcastView.init = function () {
    /**************************************************创建屏幕*****************************************************/
    const screenMain = dxui.View.build('voiceBroadcastView', dxui.Utils.LAYER.MAIN)
    voiceBroadcastView.screenMain = screenMain
    screenMain.scroll(false)
    screenMain.bgColor(0xffffff)
    screenMain.on(dxui.Utils.ENUM.LV_EVENT_SCREEN_LOADED, () => {
        topView.changeTheme(true)
 
        const configAll = screen.getConfig()
        strangerVoiceDropdown.setOptions(configAll['base.language'] == 'CN' ? strangerData : strangerData0)
        voiceModeDropdown.setOptions(configAll['base.language'] == 'CN' ? voiceModeData : voiceModeData0)
 
        strangerVoiceDropdown.setSelected(configAll['face.stranger'])
        voiceModeDropdown.setSelected(configAll['face.voiceMode'])
        volumeSlider.value(configAll['base.volume'])
        volumeSlider.send(dxui.Utils.EVENT.VALUE_CHANGED)
    })
 
    const titleBox = viewUtils.title(screenMain, configView.screenMain, 'voiceBroadcastViewTitle', 'voiceBroadcastView.title')
    titleBox.align(dxui.Utils.ALIGN.TOP_MID, 0, 70)
 
    const strangerVoiceBox = dxui.View.build('strangerVoiceBox', screenMain)
    viewUtils._clearStyle(strangerVoiceBox)
    strangerVoiceBox.bgOpa(0)
    strangerVoiceBox.setSize(screen.screenSize.width - 28 * 2, 80)
    strangerVoiceBox.align(dxui.Utils.ALIGN.TOP_MID, 0, 140)
    strangerVoiceBox.borderWidth(1)
    strangerVoiceBox.setBorderColor(0xDEDEDE)
    strangerVoiceBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0)
 
    const strangerVoiceLbl = dxui.Label.build('strangerVoiceLbl', strangerVoiceBox)
    strangerVoiceLbl.textFont(viewUtils.font(26))
    strangerVoiceLbl.dataI18n = 'voiceBroadcastView.strangerVoice'
    strangerVoiceLbl.align(dxui.Utils.ALIGN.LEFT_MID, 0, 0)
 
    const strangerVoiceDropdown = dxui.Dropdown.build('strangerVoiceDropdown', strangerVoiceBox)
    strangerVoiceDropdown.textFont(viewUtils.font(26))
    strangerVoiceDropdown.getList().textFont(viewUtils.font(26))
    strangerVoiceDropdown.align(dxui.Utils.ALIGN.RIGHT_MID, 0, 0)
    strangerVoiceDropdown.setSymbol('/app/code/resource/image/down.png')
    strangerVoiceDropdown.width(300)
    strangerVoiceDropdown.setOptions(['请先注册', '请先注册请先注册请先注册', '请先注册'])
 
 
    const voiceModeBox = dxui.View.build('voiceModeBox', screenMain)
    viewUtils._clearStyle(voiceModeBox)
    voiceModeBox.bgOpa(0)
    voiceModeBox.setSize(screen.screenSize.width - 28 * 2, 80)
    voiceModeBox.align(dxui.Utils.ALIGN.TOP_MID, 0, 220)
    voiceModeBox.borderWidth(1)
    voiceModeBox.setBorderColor(0xDEDEDE)
    voiceModeBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0)
 
    const voiceModeLbl = dxui.Label.build('voiceModeLbl', voiceModeBox)
    voiceModeLbl.textFont(viewUtils.font(26))
    voiceModeLbl.dataI18n = 'voiceBroadcastView.voiceMode'
    voiceModeLbl.align(dxui.Utils.ALIGN.LEFT_MID, 0, 0)
 
    const voiceModeDropdown = dxui.Dropdown.build('voiceModeDropdown', voiceModeBox)
    voiceModeDropdown.textFont(viewUtils.font(26))
    voiceModeDropdown.getList().textFont(viewUtils.font(26))
    voiceModeDropdown.align(dxui.Utils.ALIGN.RIGHT_MID, 0, 0)
    voiceModeDropdown.setSymbol('/app/code/resource/image/down.png')
    voiceModeDropdown.width(300)
    voiceModeDropdown.setOptions(['请先注册', '请先注册请先注册请先注册', '请先注册'])
 
 
    const volumeBox = dxui.View.build('volumeBox', screenMain)
    viewUtils._clearStyle(volumeBox)
    volumeBox.bgOpa(0)
    volumeBox.setSize(screen.screenSize.width - 28 * 2, 80)
    volumeBox.align(dxui.Utils.ALIGN.TOP_MID, 0, 300)
    volumeBox.borderWidth(1)
    volumeBox.setBorderColor(0xDEDEDE)
    volumeBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0)
 
    const volumeLbl = dxui.Label.build('volumeLbl', volumeBox)
    volumeLbl.textFont(viewUtils.font(26))
    volumeLbl.dataI18n = 'voiceBroadcastView.volume'
    volumeLbl.align(dxui.Utils.ALIGN.LEFT_MID, 0, 0)
 
    const volumeValueLbl = dxui.Label.build('volumeValueLbl', volumeBox)
    volumeValueLbl.textFont(viewUtils.font(26))
    volumeValueLbl.align(dxui.Utils.ALIGN.RIGHT_MID, 0, 0)
    volumeValueLbl.width(50)
    volumeValueLbl.text('0')
    volumeValueLbl.textAlign(dxui.Utils.TEXT_ALIGN.RIGHT)
 
    const volumeSlider = dxui.Slider.build('volumeSlider', volumeBox)
    volumeSlider.width(300)
    volumeSlider.range(0, 100)
    volumeSlider.on(dxui.Utils.EVENT.VALUE_CHANGED, () => {
        volumeValueLbl.text(volumeSlider.value() + '')
    })
    volumeSlider.alignTo(volumeValueLbl, dxui.Utils.ALIGN.OUT_LEFT_MID, -10, 0)
 
    const saveBtn = viewUtils.bottomBtn(screenMain, screenMain.id + 'saveBtn', 'voiceBroadcastView.save', () => {
        const saveConfigData = {
            face: {
                stranger: strangerVoiceDropdown.getSelected(),
                voiceMode: voiceModeDropdown.getSelected(),
            },
            base: {
                volume: volumeSlider.value(),
            }
        }
        const res = screen.saveConfig(saveConfigData)
        if (res === true) {
            voiceBroadcastView.statusPanel.success()
            std.setTimeout(() => {
                // 成功返回上一层界面
                dxui.loadMain(configView.screenMain)
            }, 500)
        } else {
            voiceBroadcastView.statusPanel.fail()
        }
    })
    saveBtn.align(dxui.Utils.ALIGN.BOTTOM_MID, 0, -83)
    voiceBroadcastView.statusPanel = viewUtils.statusPanel(screenMain, 'voiceBroadcastView.success', 'voiceBroadcastView.fail')
}
 
export default voiceBroadcastView