通过CSS的动画属性animation可以实现音频播放时的动画效果,同时配合JS操作动画的animation-play-state属性,来控制动画的暂停和播放。
CSS动画

网页布局采用的flex布局。若在客户端展示,可使用定位布局(本人遇到flex布局会出现底部轻微颤动的bug)

.voice-playing{
    height: 50px;
    width: 40px;
    display: flex;
    /* 底部对齐,实现从下往上的动画效果 */
    align-items: flex-end;
    justify-content: space-between;
}
.play1{
    width: 10px;
    background-color: #bfc;
    animation: playing1 1s linear infinite alternate;
}
.play2{
    width: 10px;
    background-color: #bfc;
    animation: playing2 1s linear infinite alternate;
}
.play3{
    width: 10px;
    height: 10px;
    background-color: #bfc;
    animation: playing3 1s .5s linear infinite alternate;
}
@keyframes playing1 {
    0%{
        height: 10px;
    }
    100%{
        height: 30px;
    }
}
@keyframes playing2 {
    0%{
        height: 30px;
    }
    100%{
        height: 10px;
    }
}
@keyframes playing3 {
    0%{
        height: 10px;
    }
    100%{
        height: 30px;
    }
}
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐