reaudio

2025-12-11 0 576

reaudio

一个简单,可配置的HTML5音频组件,用于React。

特征:

  • 没有依赖性
  • 处理多个玩家(例如,播放列表
  • 一次只支持一个球员
  • 图像支持
  • 最小风格
  • 易于自定义
  • 完全响应

安装和用法

手动(最适合自定义):

如果您想进行大量自定义,请从GitHub存储库中复制reaudio组件文件夹,并将其包含在项目中。

包括组件:

reaudio / reaudio \’
import \’./componentfolder/ reaudio /assets/styles.css\’\”>

 import React from \'react\'
import reaudio from \'./component-folder/ reaudio / reaudio \'
import \'./component-folder/ reaudio /assets/styles.css\'

如果您使用SCSS,也有一个styles.scss文件。确保在您的项目中安装node-sass以进行使用。

它具有入门所需的一切…您只需要提供播放列表阵列即可。

作为模块

作为带有纱线的模块:

yarn add reaudio

作为NPM的模块:

npm i -s reaudio

在您的项目中包括模块和基本样式:

reaudio \’
import \’ reaudio /build/index.css\’\”>

 import React from \'react\'
import reaudio from \' reaudio \'
import \' reaudio /build/index.css\'

另外,如果您使用SASS/SCSS,则可以将基本SCSS样式复制到项目中。

带有多个玩家的屏幕截图:

用法

提供播放列表阵列(必需):

reaudio期望歌曲/曲目对象播放列表:

 const playlist = [
    {
        id : \'1\' ,
        source : \'https://studi*o**.bio/reaudio/iiwii.mp3\' ,
        trackName : \'IIWII\' ,
        trackArtist : \'Joshua Iz\' ,
        trackImage : \'https://stud*i**o.bio/reaudio/images/VIZLP1.jpg\' ,
        loop : true
    } ,
    {
        id : \'2\' ,
        source : [
            \'https://st***udio.bio/reaudio/Rafael.aif\' ,
            \'https://*s*tudio.*bio/reaudio/Rafael.mp3\'
        ] ,
        trackName : \'Rafael\' ,
        trackArtist : \'Joshua Iz\' ,
    } ,
    {
        id : \'3\' ,
        source : \'https://s**tudio*.bio/reaudio/Voyager_1.mp3\' ,
        trackName : \'Voyager 1\' ,
        trackArtist : \'Joshua Iz\' ,
    }
]

要测试reaudio ,请复制此播放列表代码并将其放入调用reaudio组件中。

包括带有playlist道具的reaudio组件:

reaudio</h1>
< reaudio playlist={playlist} />
</div>
)
}

export default App\”>

 function App ( ) {
    return (
        < div className = \"App\" >
            < h1 > reaudio </ h1 >
            < reaudio playlist = { playlist } />
        </ div >
    )
}

export default App 
Donezos!

在引擎盖下

< reaudio />组件根据提供的播放列表数组中的歌曲 /曲目数量调用任意数量的<Player />组件。

每个<Player />组件都包含一个可自定义的HTML5音频播放器。

定制

如上所述,自定义reaudio的最佳方法是在您的项目中手动包含reaudio组件文件夹。

这是reaudio播放器的基本结构:

 < div className = \"player\" >
    < audio >
         < source src = { src } />
    </ audio >
    < div className = \"controls\" >
        < Pause /> // will toggle with Play button
        < Play />
        < TrackInfo /> // artist, name, image, etc.
        < Bar /> // progress bar; total time
    </ div >
</ div >

所有包括控件在内的元素都可以通过道具或CSS到处移动或隐藏,从而可以想象到任何类型的玩家。

reaudio道具

reaudio工作需要playlist道具。

支柱 类型 默认
播放列表 对象数组 大批 []

玩家道具

道具 类型 默认
来源 url;本地URL;大批 细绳 \’\’
跟踪名称 任何 细绳 \’\’
跟踪者 任何 细绳 \’\’
刻度图 url;本地URL 细绳 \’\’
环形 真的;错误的 布尔 错误的
预付 没有任何;元数据;汽车 细绳 汽车

此外,可以通过道具分配任何可接受的HTML5 <audio>属性。

音频来源

source说明可以采用单个URL字符串值或一系列声源,可用于为某些浏览器提供后备。

单源示例:

 source : \'https://*s*tudio.*bio/reaudio/Rafael.mp3\' ,

多个源示例(数组):

 source : [
  \'https://st***udio.bio/reaudio/Rafael.aif\' ,
  \'https://*s*tudio.*bio/reaudio/Rafael.mp3\'
] ,

根据HTML5音频规范,浏览器将使用它可以解析的第一种格式,因此首先在源数组中提供最高质量的文件。

reaudio可以接受HTML5音频接受的任何音频格式。请参阅MDN上的音频格式文档。

请注意,有些浏览器可以播放其他格式,例如链接的MDN文档中未包含的.aif

图像

trackImage道具提供了播放器中封面艺术或其他图像的显示。您可以将完整的URL用于图像文件或项目中的本地URL。

不需要图像。

多个玩家

< reaudio />组件将输出与playlist数组中有轨道对象一样多的单个播放器。

内置的reaudio是只能一次玩一个球员的能力,因此当玩家在比赛时,所有其他玩家都会暂停。甜度。

您可以通过CSS/SCS将它们组合到单个播放列表中,但是您需要将下一个/上一个播放逻辑添加到应用程序中。

事件

<Player>组件包括当前播放<audio>元素的useRef()钩子的ref ,您可以使用该钩子来编程控制或响应任何事件。

请参阅HTML5音频事件的完整列表。

例子:

 const audioRef = useRef ( )

useEffect ( ( ) => {
    const audio = audioRef . current

    const setAudioData = ( ) => {
        setDuration ( audio . duration )
        setCurTime ( audio . currentTime )
    }

    const setAudioTime = ( ) => setCurTime ( audio . currentTime )

    // DOM listeners: update React state on DOM events
    audio . addEventListener ( \'loadeddata\' , setAudioData )
    audio . addEventListener ( \'timeupdate\' , setAudioTime )

    // ...more stuff here

    return ( ) => {
        audio . removeEventListener ( \'loadeddata\' , setAudioData )
        audio . removeEventListener ( \'timeupdate\' , setAudioTime )
    }
} )

有关完整代码,请参见reaudio文件夹中的Player.js

贡献

我们欢迎PR,问题和贡献使reaudio变得更好。

下载源码

通过命令行克隆项目:

git clone https://github.com/joshuaiz/reaudio.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 建站资源 reaudio https://www.zuozi.net/35235.html

AB Audio Player
下一篇: AB Audio Player
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务