Files
2026-09-09 14:47:29 +08:00

74 lines
3.1 KiB
Plaintext
Raw Permalink 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.
<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>