/* 录音播放器容器 */
|
.audio-player {
|
display: flex;
|
align-items: center;
|
gap: 12px;
|
padding: 14px 20px;
|
background: linear-gradient(135deg, #f0f7ff 0%, #e3f2fd 100%);
|
border-bottom: 1px solid #e1f5fe;
|
flex-shrink: 0;
|
}
|
|
/* 播放器加载中状态 */
|
.audio-player-loading {
|
background: linear-gradient(135deg, #f0f7ff 0%, #e3f2fd 100%);
|
border-bottom: 1px solid #e1f5fe;
|
justify-content: center;
|
padding: 16px 20px;
|
}
|
|
.loading-content {
|
display: flex;
|
align-items: center;
|
gap: 12px;
|
}
|
|
.loading-spinner {
|
width: 20px;
|
height: 20px;
|
border: 2px solid #d0e8ff;
|
border-top-color: #1890ff;
|
border-radius: 50%;
|
animation: spin 0.8s linear infinite;
|
}
|
|
@keyframes spin {
|
to {
|
transform: rotate(360deg);
|
}
|
}
|
|
.loading-text {
|
color: #666;
|
font-size: 13px;
|
}
|
|
/* 播放器无录音文件状态 */
|
.audio-player-empty {
|
background: linear-gradient(135deg, #f5f5f5 0%, #ebebeb 100%);
|
border-bottom: 1px solid #e0e0e0;
|
justify-content: center;
|
padding: 16px 20px;
|
}
|
|
.empty-content {
|
display: flex;
|
align-items: center;
|
gap: 8px;
|
}
|
|
.empty-icon {
|
font-size: 18px;
|
}
|
|
.empty-text {
|
color: #999;
|
font-size: 13px;
|
}
|
|
/* 播放器错误状态 */
|
.audio-player-error {
|
background: linear-gradient(135deg, #fff2f0 0%, #ffe7e3 100%);
|
border-bottom: 1px solid #ffccc7;
|
justify-content: center;
|
padding: 16px 20px;
|
}
|
|
.audio-player-error .error-text {
|
color: #ff4d4f;
|
font-size: 13px;
|
flex: 1;
|
}
|
|
/* 播放按钮 */
|
.audio-player .play-btn {
|
font-size: 28px;
|
color: #1890ff;
|
padding: 0;
|
transition: all 0.2s ease;
|
cursor: pointer;
|
}
|
|
.audio-player .play-btn:hover {
|
color: #40a9ff;
|
transform: scale(1.1);
|
}
|
|
.audio-player .play-btn:active {
|
transform: scale(0.95);
|
}
|
|
/* 进度条容器 */
|
.audio-player .progress-bar {
|
flex: 1;
|
height: 8px;
|
background: #d0e8ff;
|
border-radius: 4px;
|
cursor: pointer;
|
position: relative;
|
overflow: hidden;
|
}
|
|
/* 进度填充 */
|
.audio-player .progress-fill {
|
height: 100%;
|
background: linear-gradient(90deg, #1890ff 0%, #40a9ff 100%);
|
border-radius: 4px;
|
transition: width 0.1s ease;
|
position: relative;
|
}
|
|
/* 进度填充上的圆点 */
|
.audio-player .progress-fill::after {
|
content: '';
|
position: absolute;
|
right: -6px;
|
top: 50%;
|
transform: translateY(-50%);
|
width: 12px;
|
height: 12px;
|
background: #1890ff;
|
border-radius: 50%;
|
box-shadow: 0 2px 4px rgba(24, 144, 255, 0.3);
|
}
|
|
/* 时间显示 */
|
.audio-player .time-display {
|
font-size: 12px;
|
color: #666;
|
min-width: 85px;
|
text-align: right;
|
font-family: 'Monaco', 'Menlo', monospace;
|
background: rgba(255, 255, 255, 0.6);
|
padding: 4px 8px;
|
border-radius: 4px;
|
}
|
|
/* 下载按钮 */
|
.audio-player .download-btn {
|
font-size: 18px;
|
color: #666;
|
padding: 4px;
|
transition: all 0.2s ease;
|
cursor: pointer;
|
}
|
|
.audio-player .download-btn:hover {
|
color: #1890ff;
|
transform: scale(1.1);
|
}
|
|
.audio-player .download-btn:active {
|
transform: scale(0.95);
|
}
|
|
.audio-player .download-btn:disabled {
|
color: #ccc;
|
cursor: not-allowed;
|
}
|
|
/* 响应式 */
|
@media (max-width: 480px) {
|
.audio-player {
|
padding: 12px 16px;
|
gap: 10px;
|
}
|
|
.audio-player .play-btn {
|
font-size: 24px;
|
}
|
|
.audio-player .time-display {
|
min-width: 70px;
|
font-size: 11px;
|
}
|
|
.audio-player .download-btn {
|
font-size: 16px;
|
}
|
}
|