74 lines
3.1 KiB
Plaintext
74 lines
3.1 KiB
Plaintext
<view class="audio-page">
|
||
<view class="audio-topbar">
|
||
<button class="back-top" bindtap="goBack" aria-label="返回刚才的连环画">‹ 返回连环画</button>
|
||
<view class="page-heading">
|
||
<text class="page-kicker">{{chapterLabel}} · 有声夹页</text>
|
||
<text class="page-count">{{pageNumber}}/8</text>
|
||
</view>
|
||
</view>
|
||
|
||
<view class="audio-spread">
|
||
<view class="story-card" aria-label="本页文字封面">
|
||
<view class="story-card-border">
|
||
<text class="story-card-kicker">桂香里的有声夹页</text>
|
||
<text class="story-card-title">桂香里的这一页</text>
|
||
<view class="story-card-rule"></view>
|
||
<text class="story-card-chapter">{{chapterLabel}}</text>
|
||
<text class="story-card-page">{{pageLabel}}</text>
|
||
<text class="story-card-note">声音单独下载,画面仍留在原来的连环画里。</text>
|
||
<text class="story-card-stamp">桂香故事</text>
|
||
</view>
|
||
</view>
|
||
|
||
<view class="audio-copy">
|
||
<text class="audio-title">听这一页</text>
|
||
<text class="audio-caption">点“开始听”后才下载并播放;来电话或离开页面会暂停,不会自己续播。</text>
|
||
|
||
<view class="audio-seek-row">
|
||
<slider
|
||
class="audio-slider"
|
||
aria-label="播放进度,可左右拖动"
|
||
min="0"
|
||
max="{{durationSeconds}}"
|
||
step="1"
|
||
value="{{sliderValue}}"
|
||
activeColor="#9b3328"
|
||
backgroundColor="#d6c6a1"
|
||
block-color="#8f271f"
|
||
block-size="24"
|
||
disabled="{{loading || !audioReady || seekLocked}}"
|
||
bindchanging="previewSeek"
|
||
bindchange="commitSeek"
|
||
></slider>
|
||
<text class="audio-time">{{currentLabel}} / {{durationLabel}}</text>
|
||
</view>
|
||
|
||
<view class="audio-controls">
|
||
<button class="audio-button" disabled="{{loading || !audioReady || seekLocked}}" bindtap="rewindTenSeconds">后退10秒</button>
|
||
<button class="audio-button primary" disabled="{{loading || seekLocked || error}}" bindtap="togglePlayback">
|
||
{{loading ? '正在准备' : playing ? '暂停' : hasStarted ? '继续听' : '开始听'}}
|
||
</button>
|
||
<button class="audio-button" disabled="{{loading || !audioReady || seekLocked}}" bindtap="replay">从头重听</button>
|
||
</view>
|
||
|
||
<view wx:if="{{rateControlsVisible}}" class="audio-rate-row" aria-label="播放速度">
|
||
<text class="audio-rate-label">语速</text>
|
||
<button
|
||
wx:for="{{rateOptions}}"
|
||
wx:key="value"
|
||
class="audio-rate-button {{playbackRate == item.value ? 'active' : ''}}"
|
||
data-rate="{{item.value}}"
|
||
disabled="{{loading || seekLocked}}"
|
||
bindtap="changePlaybackRate"
|
||
>{{item.label}}</button>
|
||
</view>
|
||
|
||
<view wx:if="{{error}}" class="audio-error" role="alert">
|
||
<text>{{error}}</text>
|
||
<button wx:if="{{retryAvailable}}" class="retry-button" disabled="{{loading}}" bindtap="retryLoad">再试一次</button>
|
||
</view>
|
||
<button class="back-bottom" bindtap="goBack">回到连环画</button>
|
||
</view>
|
||
</view>
|
||
</view>
|